You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使Facebook Messenger的Get Started按钮对所有对话用户生效?

解决Facebook Messenger机器人按钮/菜单仅开发者可见的问题

嘿,我来帮你搞定这个头疼的问题——你设置的Persistent Menu(或者Get Started按钮)只有自己的Facebook账号能看到,其他用户看不到,对吧?这其实是Facebook Messenger平台的默认限制,下面咱们一步步来解决:

1. 先搞清楚:你要的是Get Started按钮还是Persistent Menu?

你贴的curl命令是用来设置**Persistent Menu(持久菜单)**的,但你开头提到的是Get Started按钮——这俩是独立的功能哦!如果你的需求是显示Get Started按钮,得单独发一个API请求:

curl -X POST -H "Content-Type: application/json" -d '{
  "get_started": {
    "payload": "GET_STARTED_PAYLOAD"
  }
}' "https://graph.facebook.com/v2.6/me/messenger_profile?access_token=<你的令牌>"

2. 让所有用户都能看到的核心操作

最关键:提交机器人审核(必做)

Facebook Messenger有个规则:未通过官方审核的机器人,只有添加到「测试者列表」的账号(比如你自己)才能看到Get Started按钮、Persistent Menu这类功能。要让所有用户都能看到,必须走审核流程:

  • 打开Facebook开发者后台,找到你的机器人应用
  • 点进Messenger > 审核页面
  • 选择「标准审核」,勾选你要公开的功能(比如"Get Started Button"、"Persistent Menu")
  • 按照要求填写功能说明、测试步骤,提交后等审核通过就行

临时方案:添加测试者(开发阶段用)

如果还在开发,想让同事或特定用户提前测试,可以把他们加为测试者:

  • 进入开发者后台的角色 > 测试者页面
  • 输入对方的Facebook账号ID或邮箱,对方接受邀请后就能看到菜单/按钮了

检查你的API请求是否有语法错误

你提供的facebook.json里有个小错误:call_to_actio...少了个字母n,正确的Persistent Menu格式应该是这样的(给你个完整示例):

{
  "persistent_menu": [
    {
      "locale": "default",
      "composer_input_disabled": false,
      "call_to_actions": [
        {
          "title": "My Account",
          "type": "nested",
          "call_to_actions": [
            {
              "title": "View Profile",
              "type": "postback",
              "payload": "VIEW_PROFILE_PAYLOAD"
            },
            {
              "title": "Settings",
              "type": "postback",
              "payload": "SETTINGS_PAYLOAD"
            }
          ]
        },
        {
          "title": "Get Help",
          "type": "web_url",
          "url": "https://你的帮助网站.com"
        }
      ]
    }
  ]
}

小提示:composer_input_disabled设为true会禁用用户的输入框,一般建议设为false,除非你有特殊需求。

清除客户端缓存(容易忽略的一步)

有时候用户的Messenger会缓存旧的设置,让用户试试:

  • 完全退出Messenger客户端,再重新打开
  • 或者删除与机器人的对话,重新发起聊天

3. 常见坑点排查

  • 确认你的access_token是页面访问令牌(不是用户令牌),并且拥有pages_messaging权限
  • 检查应用状态:在开发者后台的应用审核 > 应用状态里,确保应用已经设为「公开」
  • 如果是测试环境,确认测试账号已经接受了你的测试邀请

内容的提问来源于stack exchange,提问作者Odirlei Borgert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:53:19