Facebook Messenger平台/ bot欢迎Confugration的奇怪错误

lei*_* he 17 facebook bots messenger facebook-messenger

在为Messenger bot配置欢迎消息时,我遇到了一个奇怪的错误.我一直在使用相同的代码(如下所示),它一直工作到昨晚.我和cURL和Postman一起尝试过.它们都不起作用.

curl -X POST -H "Content-Type: application/json" -d '{
  "setting_type":"call_to_actions",
  "thread_state":"new_thread",
  "call_to_actions":[
    {
      "message":{
        "text":"Welcome to My Company!"
      }
    }
  ]
}' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_ACCESS_TOKEN>"
Run Code Online (Sandbox Code Playgroud)

执行上述代码时出现错误消息:

{"error":{"message":"(#100) Invalid keys \"message\" were found in param \"call_to_actions[0]\".","type":"OAuthException","code":100,"fbtrace_id":"Hn42Wa+hapI"}}%
Run Code Online (Sandbox Code Playgroud)

我可以确认PAGE_ID和PAGE_ACCESS_TOKEN都正确,因为尝试删除欢迎消息时,以下代码正常工作.

curl -X POST -H "Content-Type: application/json" -d '{
  "setting_type":"call_to_actions",
  "thread_state":"new_thread",
  "call_to_actions":[
    {
      "message":{
        "text":"Welcome to My Company!"
      }
    }
  ]
}' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_ACCESS_TOKEN>"
Run Code Online (Sandbox Code Playgroud)

此外,我使用的代码与Facebook官方API文档中显示的完全相同.我不明白为什么它说"消息"不是有效的密钥.有人遇到过同样的问题吗?Facebook改变了他们的api吗?

任何帮助都感激不尽!

Sah*_*tal 7

文档现在被更新时,您需要定义您的有效载荷 payload现在参数(UTF-8编码的字符串),例如:

"call_to_actions":[
    {
      "payload":"USER_DEFINED_PAYLOAD"
    }
]
Run Code Online (Sandbox Code Playgroud)


phi*_*s28 -1

此错误是由于 API 更改造成的。

新来电:

curl -X POST -H "Content-Type: application/json" -d '{
  "setting_type":"call_to_actions",
  "thread_state":"new_thread",
  "call_to_actions":[{
    "payload":"START"
  }]
}' "https://graph.facebook.com/v2.6/<PAGE_ID>/thread_settings?access_token=<PAGE_TOKEN>"
Run Code Online (Sandbox Code Playgroud)

只需添加一个有效负载,例如{"payload":"START"}

如果用户按下“开始”按钮,您会在 messageHandler (webhook) 中收到此有效负载。检查$incomingMessage == "START"并发送回您的结构化消息或您想要的任何内容。

不再支持像以前一样的消息。

错误报告:https ://developers.facebook.com/bugs/1751749508372552/