2017-09-27 94 views
0

許多人已經知道,當用戶登錄我們的某個Facebook應用程序時,我們得到一些數據,並且有一個用戶ID只適用於App世界。任何方式來在Facebook上從app-scoped-id獲取page-scoped-id?

如果我們有,比方說,我們想要使用一個bot來與用戶交互,我們需要一個ID,該ID是與該bot相關的頁面唯一的。爲了得到它,我一直在讀這一點:

https://developers.facebook.com/docs/messenger-platform/identity/customer-matching

顯然,我們想盡快將消息發送給用戶,因爲他/她登錄了,沒有以前的互動。我們嘗試用圖形API:

<user-app-scoped-id>?fields=name,age_range,ids_for_apps,ids_for_pages&access_token=<user-access-token> 

,我們得到這樣的:

{ 
    "name": "xxxx", 
    "ids_for_apps": { 
    "data": [ 
     { 
     "id": "1006086616200000", 
     "app": { 
      "link": "http://public-link/", 
      "name": "ChatBotTest", 
      "id": "1171064089667000"    
     } 
     } 
    ], 
    "paging": { 
     "cursors": { 
     "before": "MTE3MTA2NDA4OTY2NTE3", 
     "after": "MTE3MTA2NDA4OTY2NTE3" 
     } 
    } 
    }, 
    "ids_for_pages": { 
    "data": [ 
     { 
     "id": "1599402636786000", 
     "page": { 
      "name": "TuHuella", 
      "id": "1931527867112000" 
     } 
     } 
    ], 
    "paging": { 
     "cursors": { 
     "before": "MTkzMTUyNzg2NzExMjU1MAZDZD", 
     "after": "MTkzMTUyNzg2NzExMjU1MAZDZD" 
     } 
    } 
    }, 
    "id": "1006086616200000" 
} 

最後一部分「ids_for_pages」,只有當用戶寫的東西給我們的頁面出現,如此看來,我們需要這種互動。

有人知道避免這種情況的方法嗎?也許我們可以以編程方式從登錄用戶發送消息到我們的頁面,以便我們獲得這種交互?

非常感謝,

裏卡多

+0

額外信息:只喜歡頁面是不夠的,只適用於發送的消息。 – rmartrenado

+1

我不是很確定你在問什麼,分別。你的問題是什麼。您的機器人無法啓動與用戶的初始交互,用戶需要這樣做。 – CBroe

+0

那麼,你是說用戶匹配工具只在用戶開始交互之後才起作用? – rmartrenado

回答

0

我想我得到了它。

https://developers.facebook.com/docs/messenger-platform/discovery/checkbox-plugin

在這裏看到一個例子:

​​

這是它。我需要的是複選框Facebook插件。如果用戶已經登錄(肯定會是),那麼複選框已經被選中,點擊任何按鈕後,我們可以觸發從我們的服務器發送的消息。

如果用戶沒有登錄,那麼複選框不會被選中,如果用戶點擊它,它會提示一個登錄框,如果成功則檢查複選框。

整潔。

相關問題