Facebook messenger api - 通过对话

问题描述 投票:0回答:1

我已经从主应用程序传递到辅助应用程序的对话,我使用https://graph.facebook.com/v2.6/me/pass_thread_control调用以下数据:

{"recipient": {"id": "xxxxxxxx"},
"target_app_id": xxxxxx,
"metadata": "test to pass to secondary receiver app",
"pass_thread_control": {
    "new_owner_app_id": "xxxxx",
    "metadata": "metadata to test"
  }
 }

它已经返回true,即辅助应用程序具有控制权。

我的问题是将对话返回到主应用程序,我正在使用调用https://graph.facebook.com/v2.6/me/take_thread_control

{
"recipient": {
"id": "xxxxxxxx"
},
"metadata": "additional content that the caller wants to set"
}

并返回:

    "error": {
        "message": "(# 10) Only Main Receiver can call this API",
        "type": "OAuthException",
        "code": 10,
        "error_subcode": 2018169,
        "fbtrace_id": "DnBvWqt / 0bd"
}

我究竟做错了什么?

我必须连续打电话是什么?

我怎么知道哪个应用程序有对话?

我看到的另一件事是我试图打电话:https://graph.facebook.com/v2.6/me/secondary_receivers

并返回此消息:

"error": {
      "message": "(# 10) Only Main Receiver can call this API",
      "type": "OAuthException",
      "code": 10,
      "error_subcode": 2018169,
      "fbtrace_id": "Gt1WsVx9W22"
   }

我需要一些许可吗?

facebook facebook-graph-api facebook-messenger facebook-messenger-bot
1个回答
0
投票

take_thread_control和secondary_receivers只能由主接收器应用程序调用。如果希望辅助接收器将线程控制传递回主节点,则需要从辅助节点调用pass_thread_control。

take_thread_control专门为Primary保留,pass_thread_control用于主要和辅助。

© www.soinside.com 2019 - 2024. All rights reserved.