2016-12-15 43 views
0

我有一個FB賬戶和3頁在那裏。此外,我正在開發一個Java Bot,它應該在這個頁面訂閱了我的FB應用程序之後發送消息給頁面。問題是我需要向當前登錄的用戶(誰訂閱應用程序到他的頁面)發送祝賀消息。或以某種方式向該用戶發送消息。但是,當用戶正在將我的應用程序訂閱到任何頁面時,我會得到他的ID並將其保存以發送祝賀消息。但是,問題是這個用戶ID似乎是絕對錯誤的,我不能用任何訪問令牌發送任何消息,既不是頁面令牌也不是其他任何消息。因此,工作流程是:Facebook API發送消息到一個頁面

  1. 我產生授權URL
  2. I(我)他這個網址
  3. Facebook的觸發我的回調函數
  4. 我得到令牌我在回調
  5. 我訪問令牌使用此令牌將我的應用程序鏈接到我的頁面,一切正常
  6. 在此回調中,我獲得當前用戶ID,在鏈接後發回消息
  7. 訂閱後我試圖發送一條消息給用戶,但不斷得到「(#100)沒有找到匹配的用戶」

但是,如果我從這個頁面發送消息,我得到的用戶ID是完全不同的我上面描述過。如果我從頁面使用該ID,則一切正常。如何發送消息或者可能無法直接發送消息,或者只能作爲對用戶消息的響應?

+1

您只能將消息發送給與您的機器人進行交互的用戶 - 他們必須開始對話。而信使使用頁面作用域用戶ID,而你有一個應用程序範圍的。這些是不同的原因。 – CBroe

回答

1

您可能在混合「應用範圍ID」和「頁範圍ID」。

應用作用域ID:在授權用戶與你的應用後,你得到一個。與機器人無關。

Page Scoped ID:當用戶開始使用您的機器人時,您會得到這一個。無需授權。