【发布时间】:2019-03-04 02:25:33
【问题描述】:
我正在制作一个目前处于开发模式的信使机器人。当我从我的帐户(具有管理员角色)向我的 Facebook 页面写消息时,我无法从我的应用中获得回复。
我正在向 Messenger 发送以下 JSON 编码数据:
$data = ["recipient"=>["id"=>$recipientId], "messaging_type"=> "RESPONSE", "message"=>["text"=>$message]];
$json = \json_encode($data);
到这个端点:
$prefix = 'https://graph.facebook.com/v2.6/me/messages?access_token=';
$url = $prefix.env("FACEBOOK_PAGE_ACCESS_TOKEN");
并从 Facebook 取回以下消息:
{"error":{"message":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500,"fbtrace_id":"..."}}
这与 Messenger API 文档中的方式完全相同,都是关于发送消息的。
我没有尝试查询任何信息,只是向用户发送一条消息。
文档中的端点是否不正确? developer.facebook.com 是否生成了无效的页面访问令牌?我需要一些额外的设置吗?请帮我解决这个困惑。
【问题讨论】:
-
第一个问题是:您的访问令牌是否处于活动状态?其次,您能否记录请求标头和正文,并使用占位符发布任何个人数据
-
这是一个永不过期的页面令牌,具有以下范围:
pages_messaging, pages_messaging_phone_number, pages_messaging_subscriptions, public_profile。一会儿 -
尝试从开发者控制台 - Messenger -> 设置生成页面访问令牌并检查它是否有效。
-
我们最近在 Facebook 网站 amio.io 上遇到了一些麻烦。对我们有帮助的是重新验证受影响的帐户(我们使用 OAuth)。所以正如@ssakash 建议的那样,生成新的访问令牌可能会有所帮助!
标签: facebook facebook-messenger facebook-messenger-bot