Facebook messenger api - 通过对话

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Facebook messenger api - 通过对话相关的知识,希望对你有一定的参考价值。

我已经从主应用程序传递到辅助应用程序的对话,我使用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"
   }

我需要一些许可吗?

答案

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

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

以上是关于Facebook messenger api - 通过对话的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Messenger ID匹配API仅适用于管理员

如何在本机反应中使用 Facebook Messenger api

来自 Facebook Messenger 机器人对话的 API 身份验证

Facebook Messenger sdk 贴纸

Facebook Webhook Messenger 获取页面 ID

如何检查和编码来自 Facebook Messenger 的输入表情符号?