【问题标题】:How does pass_thread_control work in Facebook Handover Protocol?pass_thread_control 在 Facebook 移交协议中是如何工作的?
【发布时间】:2019-12-04 16:47:05
【问题描述】:

我正在尝试在 Facebook Messenger 上测试 pass_thread_control 功能,以让我的 Dialogflow 机器人将正在进行的对话引导至人工操作员。到目前为止,我什至试图在 Graph API Explorer 中获得“成功”代码。我查看了 Facebook 的文档 (https://developers.facebook.com/docs/messenger-platform/reference/handover-protocol/pass-thread-control/),仔细查看了此处或其他地方的不同线程。我有:

  1. 订阅我的 Facebook 页面以接收messaging_handovers。
  2. 将 Dialogflow 聊天机器人应用设置为主要接收者。
  3. 将页面收件箱设置为次要收件人。

...而且我不断收到各种错误。例如,我在 Graph API explorer 中尝试这个请求:

发布到https://graph.facebook.com/v5.0/me/pass_thread_control

带参数:

{
  "recipient": {
    "id": "myPageID"
  },
  "target_app_id": "263902037430900"
}

{
  "error": {
    "message": "Unsupported post request. Object with ID 'me' does not exist, cannot be loaded due to missing permissions, or does not support this operation. Please read the Graph API documentation at https://developers.facebook.com/docs/graph-api",
    "type": "GraphMethodException",
    "code": 100,
    "error_subcode": 33,
    "fbtrace_id": "AipGijCLKQOwOl6L792ZEgG"
  }
}

也许问题出在收件人 PSID 上?这是我不知道从哪里获得的唯一参数。页面范围的 app-id 是什么?我如何得到它?

或者我错过了一些权限...?

非常感谢任何帮助我摆脱困境的帮助......

【问题讨论】:

    标签: json facebook facebook-graph-api facebook-webhooks


    【解决方案1】:

    好的,我实际上设法弄清楚了。

    1. 首先 - 我发现我试图将线程控制传递给的页面没有链接到我的 Facebook 业务帐户,而聊天机器人应用程序是。我在 Facebook Business Manager 中添加了该页面,以便将其链接到与聊天机器人应用程序相同的企业帐户。 注意:我不确定这是每个人的先决条件,所以要小心。它可能并非在所有情况下都需要。

    2. 要检索页面 PSID,然后可以在发送到 pass_thread_control 的 POST 请求的“收件人”参数中使用它,使用 Graph API Explorer 发送一个 GET 请求,如下所示:https://developers.facebook.com/docs/facebook-login/connecting-accounts#examples

    3. 尽管示例请求不包含appsecret_proof 参数,但我使用了它并且没有测试过没有它的请求。这里展示了一种使用 PHP 生成appsecret_proof 的非常简单的方法:https://developers.facebook.com/docs/graph-api/securing-requests#generate-proof

    4. 然后,当提供使用第 2 点中所示方法获得的 PSID 时,我在测试 pass_thread_control 时得到“成功:真”,它确实将线程控制传递给辅助接收器 = 页面收件箱。耶! ?

    以上所有内容也在此线程中进行了描述,这帮助我弄清楚了,因此感谢 Sunil:Is Facebook Messenger PSID PageScope constant for User

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-05
      • 1970-01-01
      • 1970-01-01
      • 2017-02-13
      • 2013-12-06
      • 2015-10-11
      相关资源
      最近更新 更多