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

2024-01-01

我正在构建一个 Facebook 聊天机器人应用程序。我已经使用 HTTP POST 和有效的页面访问令牌通过一些 JSON 设置了持久菜单。

为了检查我的设置是否正确,我发出了 GET 请求https://graph.facebook.com/v2.6/me/messenger_profile?fields=persistent_menu&access_token=TOKEN带有工作令牌。

我得到的回应是:

{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 应用程序或访问messenger.com在 Chrome 桌面 Mac OS X 上,我看不到任何菜单!

奇怪的是,在我的服务器 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 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 https://developers.facebook.com/docs/messenger-platform/messenger-profile/persistent-menu

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Facebook Messenger 机器人应用程序 - 持久菜单未出现 的相关文章

  • Django REST序列化器:创建对象而不保存

    我已经开始使用 Django REST 框架 我想做的是使用一些 JSON 发布请求 从中创建一个 Django 模型对象 然后使用该对象而不保存它 我的 Django 模型称为 SearchRequest 我所拥有的是 api view
  • Python PAM 模块的安全问题?

    我有兴趣编写一个 PAM 模块 该模块将利用流行的 Unix 登录身份验证机制 我过去的大部分编程经验都是使用 Python 进行的 并且我正在交互的系统已经有一个 Python API 我用谷歌搜索发现pam python http pa
  • 如何使用固定的 pandas 数据框进行动态 matplotlib 绘图?

    我有一个名为的数据框benchmark returns and strategy returns 两者具有相同的时间跨度 我想找到一种方法以漂亮的动画风格绘制数据点 以便它显示逐渐加载的所有点 我知道有一个matplotlib animat
  • pandas 替换多个值

    以下是示例数据框 gt gt gt df pd DataFrame a 1 1 1 2 2 b 11 22 33 44 55 gt gt gt df a b 0 1 11 1 1 22 2 1 33 3 2 44 4 3 55 现在我想根据
  • SQL Alchemy 中的 NULL 安全不等式比较?

    目前 我知道如何表达 NULL 安全的唯一方法 SQL Alchemy 中的比较 其中与 NULL 条目的比较计算结果为 True 而不是 NULL 是 or field None field value 有没有办法在 SQL Alchem
  • 为 pandas 数据透视表中的每个值列定义 aggfunc

    试图生成具有多个 值 列的数据透视表 我知道我可以使用 aggfunc 按照我想要的方式聚合值 但是如果我不想对两列求和或求平均值 而是想要一列的总和 同时求另一列的平均值 该怎么办 那么使用 pandas 可以做到这一点吗 df pd D
  • 安装后 Anaconda 提示损坏

    我刚刚安装张量流GPU创建单独的后环境按照以下指示here https github com antoniosehk keras tensorflow windows installation 但是 安装后当我关闭提示窗口并打开新航站楼弹出
  • 如何使用装饰器禁用某些功能的中间件?

    我想模仿的行为csrf exempt see here https docs djangoproject com en 1 11 ref csrf django views decorators csrf csrf exempt and h
  • python pandas 中的双端队列

    我正在使用Python的deque 实现一个简单的循环缓冲区 from collections import deque import numpy as np test sequence np array range 100 2 resha
  • python 集合可以包含的值的数量是否有限制?

    我正在尝试使用 python 设置作为 mysql 表中 ids 的过滤器 python集存储了所有要过滤的id 现在大约有30000个 这个数字会随着时间的推移慢慢增长 我担心python集的最大容量 它可以包含的元素数量有限制吗 您最大
  • Python:字符串不会转换为浮点数[重复]

    这个问题在这里已经有答案了 我几个小时前写了这个程序 while True print What would you like me to double line raw input gt if line done break else f
  • 当玩家触摸屏幕一侧时,如何让 pygame 发出警告?

    我使用 pygame 创建了一个游戏 当玩家触摸屏幕一侧时 我想让 pygame 给出类似 你不能触摸屏幕两侧 的错误 我尝试在互联网上搜索 但没有找到任何好的结果 我想过在屏幕外添加一个方块 当玩家触摸该方块时 它会发出警告 但这花了很长
  • 使用 OpenPyXL 迭代工作表和单元格,并使用包含的字符串更新单元格[重复]

    这个问题在这里已经有答案了 我想使用 OpenPyXL 来搜索工作簿 但我遇到了一些问题 希望有人可以帮助解决 以下是一些障碍 待办事项 我的工作表和单元格数量未知 我想搜索工作簿并将工作表名称放入数组中 我想循环遍历每个数组项并搜索包含特
  • ExpectedFailure 被计为错误而不是通过

    我在用着expectedFailure因为有一个我想记录的错误 我现在无法修复 但想将来再回来解决 我的理解expectedFailure是它会将测试计为通过 但在摘要中表示预期失败的数量为 x 类似于它如何处理跳过的 tets 但是 当我
  • 如何改变Python中特定打印字母的颜色?

    我正在尝试做一个简短的测验 并且想将错误答案显示为红色 欢迎来到我的测验 您想开始吗 是的 祝你好运 法国的首都是哪里 法国 随机答案不正确的答案 我正在尝试将其显示为红色 我的代码是 print Welcome to my Quiz be
  • 通过数据框与函数进行交互

    如果我有这样的日期框架 氮 EG 00 04 NEG 04 08 NEG 08 12 NEG 12 16 NEG 16 20 NEG 20 24 datum von 2017 10 12 21 69 15 36 0 87 1 42 0 76
  • Nuitka 未使用 nuitka --recurse-all hello.py [错误] 编译 exe

    我正在尝试通过 nuitka 创建一个简单的 exe 这样我就可以在我的笔记本电脑上运行它 而无需安装 Python 我在 Windows 10 上并使用 Anaconda Python 3 我输入 nuitka recurse all h
  • 使用基于正则表达式的部分匹配来选择 Pandas 数据帧的子数据帧

    我有一个 Pandas 数据框 它有两列 一列 进程参数 列 包含字符串 另一列 值 列 包含相应的浮点值 我需要过滤出部分匹配列 过程参数 中的一组键的子数据帧 并提取与这些键匹配的数据帧的两列 df pd DataFrame Proce
  • Spark.read 在 Databricks 中给出 KrbException

    我正在尝试从 databricks 笔记本连接到 SQL 数据库 以下是我的代码 jdbcDF spark read format com microsoft sqlserver jdbc spark option url jdbc sql
  • Python:元类属性有时会覆盖类属性?

    下面代码的结果让我感到困惑 class MyClass type property def a self return 1 class MyObject object metaclass MyClass a 2 print MyObject

随机推荐

  • laravel重置密码不重置密码

    我正在使用 laravel 6 我第一次尝试为我的 laravel 项目实现忘记密码 我自定义了登录 忘记密码 重置密码页面的默认设计 我已经集成了mailtrap用于发送电子邮件 我已经成功地实现了这样的流程 单击忘记密码链接 获取用户输
  • 无论操作系统如何,在 Java 中执行计划任务的最佳解决方案是什么?

    我想在我的 Java 桌面应用程序上生成警报 设置特定日期 时间的警报 可以是 5 分钟或 5 个月内 我需要能够在触发警报时创建 SWT 应用程序 我需要它能够在任何操作系统上工作 软件用户可能使用 Windows 其中 90 其余使用
  • CVXPY 在二次规划优化问题上返回不可行/不准确

    我正在尝试使用 CVXPY 来解决非负最小二乘问题 附加约束是解向量中的条目之和必须等于 1 然而 当我使用 SCS 求解器在这个简单的二次程序上运行 CVXPY 时 我让求解器运行最多 100000 次迭代 最后遇到错误 指出二次程序不可
  • 为什么运行 Rspec 时会出现未定义方法“有”错误?

    我最近升级到 Rails 4 除了 Rspec 测试之外 一切正常 require spec helper describe Invoice do before each do user FactoryGirl create activat
  • Laravel 查询生成器 - sum() 方法问题

    我是 Laravel 的新手 查询生成器有一些问题 我想构建的查询是这样的 SELECT SUM transactions amount FROM transactions JOIN categories ON transactions c
  • 如何在 remix run 中从实用程序函数重定向

    我正在使用 Remix run 我想从 auth 实用程序函数重定向到我的登录页面 但它不起作用 这是与我的身份验证实用程序方法类似的功能 import redirect from remix async function authenti
  • 在 for 循环中使用“else”的 Pythonic 方法[重复]

    这个问题在这里已经有答案了 我几乎没有注意到Python程序在for循环中使用了else 我最近使用它在退出时根据循环变量条件执行操作 因为它在范围内 在 for 循环中使用 else 的 Python 方式是什么 有什么值得注意的用例吗
  • Jquery找到所有以字符串开头的id?

    只是想知道如何在整个页面中搜索以 content 开头的所有 id 以及如何仅在名为 extra content 的命名 div 中找到它们 一旦我有了所有的ID 我想隐藏它们 下面是我想找到的示例 div div lt Find div
  • 使用 Maven 的 JavaScript 缩小工作流程

    我想知道是否有任何 最佳实践 可以将 现代 JavaScript 构建工作流程 集成到生成 WAR 工件的 Maven 构建中 我发现了几个处理串联和缩小的 Maven 插件 WRO4J https code google com p wr
  • 如何开始 VOIP 编程? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如何开始开发 VoIP 产品 想听听
  • 抛出异常时不调用析构函数

    考虑以下代码 include
  • MongoDB 和 C#:不区分大小写的搜索

    我在用MongoDB http www mongodb org 和MongoDB 的 C 驱动程序 http www mongodb org display DOCS CSharp Language Center CSharpLanguag
  • Android GUI架构-Surface/view/window/canvas之间的关系

    更新 经过几天的谷歌搜索和实验 https github com pierrchen understandAndroidUI 我已经找到了大部分愚蠢问题的答案 查看我提交的答案 Android Window 的职责是什么 这里有一些问题 它
  • 给定替换 S 和列表 X,如何将 S 应用于 X

    假设我有一个替代品S并列出Xs 其中每个变量出现在Xs也发生在S 我如何找到该列表S Xs 即通过应用替换获得的列表S到列表Xs 更具体地说 我有一组谓词和 DCG 规则 看起来像 pat P gt seg P seg seg X Y Z
  • Android - 构建通知,TaskStackBuilder.addParentStack 不起作用

    我正在尝试从 Android 文档解释的通知启动活动 但是当我打开通知然后按后退按钮时 HomeActivity 父级 不会打开 而是应用程序关闭 我究竟做错了什么 Intent resultIntent new Intent contex
  • 以同样的方式处理由空格分隔的单词

    我试图找到同时出现在多个文档中的单词 让我们举个例子 doc1 this is a document about milkyway doc2 milky way is huge 正如您在上面两个文档中看到的 单词 milkyway 在两个文
  • 为什么 C 中的 struct 关键字必须位于结构实例之前?

    假设我在 C 中定义了一个结构体 如果我声明该结构体的一个实例 则必须在其前面包含 struct 关键字 Define struct struct Book char title 50 char author 50 char subject
  • iphone:使视图透明但子视图不透明

    我有一个名为 A 的自定义 UIViewController 我想将其视图添加到另一个控制器 名为 B 视图作为子视图 A 的视图包含两个按钮作为子视图 我想让 A 的视图透明 但其中的按钮不透明 我想知道有什么办法可以做到吗 据我观察 如
  • gcc、严格别名和通过联合进行转换

    你有什么恐怖故事要讲吗 GCC 手册最近添加了有关 fstrict aliasing 和通过联合强制转换指针的警告 获取地址 转换结果指针并取消引用结果未定义的行为 强调 即使强制转换使用联合类型 例如 union a union int
  • Facebook Messenger 机器人应用程序 - 持久菜单未出现

    我正在构建一个 Facebook 聊天机器人应用程序 我已经使用 HTTP POST 和有效的页面访问令牌通过一些 JSON 设置了持久菜单 为了检查我的设置是否正确 我发出了 GET 请求https graph facebook com