Php 脸谱网聊天机器人的回应是“我不知道怎么办。”;“行动不成功”;永久菜单回发错误

Php 脸谱网聊天机器人的回应是“我不知道怎么办。”;“行动不成功”;永久菜单回发错误,php,facebook,chatbot,Php,Facebook,Chatbot,我的facebook聊天机器人的持久菜单在几天前还可以正常工作,每隔几次,当我点击一个持久菜单项时,就会弹出一个错误: 行动失败 将您的邮件传递到bot时出错。 请稍后再试 这种情况偶尔发生,我检查了一下,当这种情况发生时,我的PHP代码没有收到来自facebook的任何回复。没有错误时,回发工作正常。还有其他人收到这个错误吗 我的持久菜单设置如下: //-----------Persistent Menu $url = 'https://graph.facebook.com/v2.6/me/m

我的facebook聊天机器人的持久菜单在几天前还可以正常工作,每隔几次,当我点击一个持久菜单项时,就会弹出一个错误: 行动失败 将您的邮件传递到bot时出错。 请稍后再试

这种情况偶尔发生,我检查了一下,当这种情况发生时,我的PHP代码没有收到来自facebook的任何回复。没有错误时,回发工作正常。还有其他人收到这个错误吗

我的持久菜单设置如下:

//-----------Persistent Menu
$url = 'https://graph.facebook.com/v2.6/me/messenger_profile?access_token='.$access_token;
$ch = curl_init($url); 

$jsonData = '{
  "persistent_menu":[
    {
      "locale":"default",
      "composer_input_disabled": false,
      "call_to_actions":[
            {
              "title":"View in Chinese",
              "type":"postback",
              "payload":"mainMenu"
            },
            {
              "title":"View in English",
              "type":"postback",
              "payload":"mainMenuEN"
            }


      ]
    },
        {
      "locale":"zh_TW",
      "composer_input_disabled": false,
      "call_to_actions":[
            {
              "title":"View in Chinese",
              "type":"postback",
              "payload":"mainMenu"
            },
            {
              "title":"View in English",
              "type":"postback",
              "payload":"mainMenuEN"
            }

      ]
    },      
        {
      "locale":"en_US",
      "composer_input_disabled": false,
      "call_to_actions":[
            {
              "title":"View in Chinese",
              "type":"postback",
              "payload":"mainMenu"
            },
            {
              "title":"View in English",
              "type":"postback",
              "payload":"mainMenuEN"
            }

      ]
    }
  ]
}';
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);

我也有同样的问题。通过以下更改对其进行了修复:

App settings -> [Products] Messenger -> Settings -> Webhooks -> Edit events -> Add messaging_postbacks
您可能忘记添加事件,FB不允许向服务器发送任何按钮的回发/有效负载

彻底检查按钮类型是否正确指定为以下之一:
web\u url
postback
(小写)


请记住,如果您已经启用了
消息传递\u回发
,但仍然出现此错误,则根据的规定,持久菜单需要
页面(消息传递权限
):

您正在使用的
页面访问令牌可能需要在您的webhook中更新。

返回开发者应用程序仪表板。选择
Messenger
>
Settings
。 向下滚动至
“令牌生成”
部分:

从下拉列表中选择您的页面,并复制新的访问令牌以在webhook中使用

我也有同样的问题,在到处寻找答案后,这对我来说很有效