1

我有一個應用程序,用戶可以使用Facebook登錄。我有用戶的身份驗證令牌,有效期爲30天。我正在使用護照。目前,我需要絕對最低限度的權限(僅限電子郵件),以便我的身份驗證應用程序不需要驗證。Facebook chatbot和身份驗證

現在...我需要寫一個聊天機器人,偶爾會寫入用戶身份驗證。所以,機器人需要發起對話。它實際上是用戶積極關注的通知。

鑑於我知道如何編寫聊天機器人本身,我想知道......這樣做甚至有可能嗎?

如果這是不可能的,是否可以「鏈接」,然而通過比較他們的Facebook用戶ID來啓動與我的機器人與其中一個登錄用戶的聊天? (我恐怕不會,因爲Facebook的用戶ID似乎是應用程序的範圍)

+0

https://developers.facebook.com/docs/messenger-平臺/策略概述 - 「特定用例的訂閱消息(測試版)」 – CBroe

回答

1

1)爲了可靠地向用戶發送消息,通過用戶交互自發發送消息,您將需要來自FB的訂閱消息傳遞權限,目前它處於限制測試階段。

Subscription Messaging僅限於來自News,Personal Tracker和Productivity類別中的應用的非廣告消息。如果您的機器人符合這些類別之一,您可以獲得權限以執行您想要的操作。

如果沒有,您仍然可以向用戶發送通知,但每次需要引發他們的響應(按下按鈕,文字響應)以獲得超出標準消息傳遞24小時限制的其他消息。這些消息可以是促銷。

2)獲取用戶的頁面作用域ID時,如果您有其用戶ID用於其他應用程序或頁面,請使用ID匹配API。

您必須創建一個FB Business帳戶(如果您還沒有帳戶)並將您的應用程序和頁面與業務關聯,請按照ID Matching API Docs中的指南操作。

要獲得所有頁面範圍的ID對您的企業帳戶擁有的網頁,當你有一個用戶的應用程序ID(從FB登錄,作爲一個例子),你會提出以下要求的圖形API:

GET /{user-id}/ids_for_pages 
    ?access_token=[app_access_token] 
    &appsecret_proof=[appsecret_proof] 

您會收到類似這樣的響應,包含頁面範圍的指定用戶的ID的每一頁您的企業帳戶擁有:

"data": [ 
     { 
     "id": "12345123", // The psid for the user for that page 
     "page": { 
      "category": "Musician", 
      "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/", 
      "name": "John's Next Great Thing", 
      "id": "380374449010653" 
     } 
     } 
    ]