上周我向Facebook申请了一个应用评论,该评论已成功授予我许可请求" read_page_mailboxes"我的申请用户的许可。
我现在有一个扩展访问令牌,根据Graph Explorer工具的属性:
App {app_id}:SAM :. Thinkka
用户{用户名}:James Hartnoll
有效:True Scopes read_page_mailboxes,manage_pages,publish_pages,business_management,public_profile
我正在尝试使用以下网址阅读商家页面的对话:
但是,当我提出请求时,回复是:
{
"error": {
"message": "(#298) Requires extended permission: read_mailbox",
"type": "OAuthException",
"code": 298,
"fbtrace_id": "FEHvo/6+z39"
}
}
现在根据Facebook文档,这里: https://developers.facebook.com/docs/graph-api/reference/v2.7/page/conversations
我拥有所需的所有权限(即read_page_mailboxes)。
我在Stack Overflow上做了一些研究和this question(不是我的),总结得很清楚我在做什么。
一个答案建议尝试使用https://graph.facebook.com/v2.7/me/conversations ....但这导致相同的错误,另一个答案表明read_page_mailbox需要批准。
该许可已被批准,请参阅此问题的开头!
Facebook更改日志:https://developers.facebook.com/docs/apps/changelog#v2_4
告诉我read_mailbox已被弃用,并且进一步阅读该权限,似乎根据App Review请求无论如何都不会授予该权限,无论如何该权限都不适用于Web应用程序。
所以......我被困了?!我拥有根据文档要求拥有的所有权限,我的令牌有效且我的" GET"请求是正确的,但我需要一年前弃用的权限?!
我也已将此消息发送给Facebook,但它需要几天的时间才能回复,这让我感到恼火,因为这个应该显然正常工作!
这里的任何人都有这方面的经验/解决方案吗?
**注意:**为了清晰起见,我正在关注商业页面消息,而不是个人消息。
答案 0 :(得分:1)
您没有使用页面访问令牌来请求,而是使用用户访问令牌。您需要首先通过GET / me / accounts获取页面访问令牌,或访问getting page access token以获取更多详细信息。 获得此令牌后,您可以使用PHP中的以下方法阅读页面对话: $ pagemessages = file_get_contents('https://graph.facebook.com/me/conversations?access_token= {page-access-token}'); 后续代码var_dump($ pagemessages); 或者只是使用GET请求到上面的链接。
谢谢!