我想做一个facebook的应用程序,能够访问用户正在管理的页面的消息。
我的帐户只管理一个页面,我可以访问该页面,但不知何故不能访问对话。
我像这样请求我的权限:
FB.login(function (response) {
testFacebookApi();
}, {
scope: "manage_pages,read_page_mailboxes"
});并获得除最后一个调用以外的所有Graph-API-调用的预期结果:
FB.api("/me", function (response) {
console.log("Me: ", response);
});结果:Object {name: "{MyName}", id: "{MyID}"}
FB.api("/me/permissions", function (response) {
console.log("My Permissions: ", response);
});结果:permission: "manage_pages" status: "granted",
permission: "read_page_mailboxes" status: "granted",...
FB.api("/me/accounts", function (response) {
console.log("My accounts: ", response);
});结果:access_token: "{my_page_acces_token}" category: "{my_page_category}" id: "{my_page_id}" name: "{my_page_name}"
FB.api("/" + page.id, function (pageResponse) {
console.log("Page: ", pageResponse);
});结果:具有正确结果的Object {name: "{my_page_name}", id: "{my_page_id}"}
FB.api("/" + page.id + "/conversations", function (convResponse) {
console.log("Conversations: ", convResponse);
});结果:error: Object code: 298 message: "(#298) Requires extended permission: read_mailbox" type: "OAuthException"
但是由于我有read_page_mailboxes,所以不应该要求read_mailbox来读取页面消息。并且read_mailbox不能被授予....
发布于 2016-03-10 18:49:19
实际上,read_mailbox已被弃用,您可以很好地使用read_page_mailboxes
你有没有要求Facebook对你的应用程序进行审查?
我不确定,但我想这就是为什么你没有获得许可的原因。
read_page_mailboxes
提供从个人管理的页面的页面收件箱中读取内容的功能。此权限通常与manage_pages权限一起使用。
此权限不允许您的应用程序读取页面所有者的邮箱。它只适用于页面的邮箱。
查看如果您的应用程序请求此权限,则必须审查您的应用程序是如何使用它的。
常见用法允许用户通过您的应用程序管理其页面的邮箱。
发布于 2016-03-10 19:36:23
我找到了一个解决方案: uf尝试以页面管理员的身份使用"/" + page.id + "/conversations"访问对话,我只是以页面本身的身份访问它们:"me/conversations?access_token=" + page.access_token
https://stackoverflow.com/questions/35913993
复制相似问题