gpt4 book ai didi

python - Facebook Messenger 机器人应用程序 - 持久菜单未出现

转载 作者:行者123 更新时间:2023-11-28 19:07:38 26 4
gpt4 key购买 nike

我正在构建一个 Facebook 聊天机器人应用程序。我使用 HTTP POST 和有效的页面访问 token 设置了带有一些 JSON 的永久菜单。

为了检查我是否设置正确,我使用工作 token 向 https://graph.facebook.com/v2.6/me/messenger_profile?fields=persistent_menu&access_token=TOKEN 发出 GET 请求.

我得到的响应是:

{u'data': [{u'persistent_menu': [{u'composer_input_disabled': False,
u'locale': u'en_US'},
{u'call_to_actions': [{u'call_to_actions': [{u'payload': u'whatever',
u'title': u'action1',
u'type': u'postback'},
{u'payload': u'whatever 2',
u'title': u'action2',
u'type': u'postback'}],
u'title': u'my title',
u'type': u'nested'},
{u'title': u'my title URL',
u'type': u'web_url',
u'url': u'http://google.com/',
u'webview_height_ratio': u'full'}],
u'composer_input_disabled': False,
u'locale': u'default'}]}]}

这是我输入的内容,到目前为止一切都很好。

但是当我在 iOS 上打开 Messenger 应用程序或在 Chrome 桌面 Mac OS X 上访问 messenger.com 时,我没有看到任何菜单!

Enter image description here

奇怪的是,在我的服务器 webhook 端点上,我也确实收到了“开始”按钮按下回传。所以这是有效的。

我的 webhook 具有以下权限:messages、messaging_postbacks、messaging_optins、message_deliveries、message_reads

我试过:

  • 在网络上刷新
  • 在 iOS 上终止应用并重新启动
  • 删除对话并重新加载机器人
  • 等待 30 分钟,然后再次尝试上述所有操作

但这些都不起作用。我仍然在我的 Messenger iOS 应用程序中看到加载微调器 - 也许 Facebook 的服务器在更新我的应用程序时速度很慢?不过,30 分钟似乎相当极端。

我的持久菜单设置的 JSON 有问题吗?这似乎是唯一可能出错的地方。

知道我做错了什么吗?

我查了一下,已经超过24小时了,还是没有菜单出现。

最佳答案

尝试使用 Postman 应用程序执行此操作,然后使用带有这些参数的 POST:

https://graph.facebook.com/v2.6/me/thread_settings?access_token=xxx

然后用这个填充正文:

{
"setting_type": "call_to_actions",
"thread_state": "existing_thread",
"call_to_actions": [
{"type": "web_url",
"title": "test",
"url": "https://test.com"
},
{
"type": "postback",
"title": "Help",
"payload": "help"
},
{
"type": "postback",
"title": "Website",
"payload": "web"
}
]
}

您可以在文档中阅读有关永久菜单的更多信息:https://developers.facebook.com/docs/messenger-platform/messenger-profile/persistent-menu

关于python - Facebook Messenger 机器人应用程序 - 持久菜单未出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45002289/

26 4 0