如何在Facebook Messenger Bot中设置Get Started按钮?Postman调用API报错求助
解决Facebook Messenger Bot Get Started按钮设置错误的方案
嘿,这个错误一看就知道是API端点用错啦!你现在调用的/me/messages是用来发送消息的端点,而设置Get Started按钮需要用专门的/me/messenger_profile端点——这就是为什么会提示“访问了Page节点不存在的messages字段”。
下面是正确的设置步骤,一步步来:
1. 使用正确的API端点
把你Postman里的URL改成:
https://graph.facebook.com/v6.0/me/messenger_profile?access_token=your_page_access_token
⚠️ 注意:这里的access_token必须是你的Facebook页面的访问令牌,而且需要具备pages_messaging权限。如果不确定令牌是否有效,可以去Facebook的Graph API Explorer里验证一下。
2. 正确的请求配置
- 请求方法:选择
POST(不是GET) - 请求体(Raw JSON):你之前写的内容其实是对的,直接用就行:
{ "get_started": { "payload": "Hi, I am bot" } }
3. 验证设置是否成功
发送POST请求后,如果返回{"success": true}就说明设置成功了。你还可以用GET请求同一个端点,加上fields参数来确认:
https://graph.facebook.com/v6.0/me/messenger_profile?fields=get_started&access_token=your_page_access_token
返回的内容里应该能看到你设置的payload。
额外注意事项
- 如果还是报错,先检查你的访问令牌是否过期或者权限不足,确保在Graph API Explorer里已经给令牌添加了
pages_messaging权限。 - v6.0是比较旧的API版本了,如果遇到兼容性问题,可以尝试升级到较新的版本(比如v18.0),端点格式是一样的,只是版本号替换就行。
内容的提问来源于stack exchange,提问作者Paritosh Yadav




