Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json 在Facebook切换协议中,pass_thread_控件是如何工作的?_Json_Facebook_Facebook Graph Api_Facebook Webhooks - Fatal编程技术网

Json 在Facebook切换协议中,pass_thread_控件是如何工作的?

Json 在Facebook切换协议中,pass_thread_控件是如何工作的?,json,facebook,facebook-graph-api,facebook-webhooks,Json,Facebook,Facebook Graph Api,Facebook Webhooks,我正在试着测试Facebook Messenger上的pass\u thread\u control功能,让我的Dialogflow机器人将正在进行的对话直接发送给人工操作员。到目前为止,我甚至都无法在GraphAPI浏览器中获得“成功”的代码。我已经阅读了Facebook的文档(),在这里或其他地方仔细浏览了不同的线程。我有: 订阅我的Facebook页面以接收消息传递 将Dialogflow聊天机器人应用程序设置为主接收器 将页面收件箱设置为辅助接收器 …我不断地犯各种错误。例如,我在Gra

我正在试着测试Facebook Messenger上的
pass\u thread\u control
功能,让我的Dialogflow机器人将正在进行的对话直接发送给人工操作员。到目前为止,我甚至都无法在GraphAPI浏览器中获得“成功”的代码。我已经阅读了Facebook的文档(),在这里或其他地方仔细浏览了不同的线程。我有:

  • 订阅我的Facebook页面以接收消息传递
  • 将Dialogflow聊天机器人应用程序设置为主接收器
  • 将页面收件箱设置为辅助接收器
  • …我不断地犯各种错误。例如,我在Graph API explorer中尝试此请求:

    寄往

    使用参数:

    {
      "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?这是我不知道从哪里得到的唯一参数。页面范围的应用程序id是什么?我怎么得到它

    或者我错过了一些权限


    非常感谢任何能帮我摆脱困境的人

    好吧,我真的找到了答案

  • 首先也是最重要的一点是,我发现我试图传递线程控制的页面没有链接到我的Facebook商业帐户,而聊天机器人应用程序是。我在Facebook Business Manager中添加了该页面,这样它就可以链接到与聊天机器人应用程序相同的商业帐户注意:我不确定这是否是每个人的先决条件,所以要小心。可能并非所有场景都需要它

  • 要检索页面PSID,然后可以在POST请求的“收件人”参数中使用该页面,以
    传递线程控制
    ,请使用Graph API Explorer发送GET请求,如下所示:

  • 即使示例请求不包含
    appsecret\u-proof
    param,我还是使用了它,没有它也没有测试请求。使用PHP生成
    appsecret\u proof
    的一种非常简单的方法如下所示:

  • 然后,当提供使用第2点所示方法获得的PSID时,我在测试
    pass\u thread\u控件时得到了“success:true”,该控件确实将线程控件传递给了Secondary Receiver=Page Inbox。耶!