我想创建一个能够访问用户正在管理的页面消息的Facebook应用程序。
我的帐户正在管理一个页面,我可以访问该页面,但不管怎么说都不是对话。
我请求我的权限:
FB.login(function (response) {
testFacebookApi();
}, {
scope: "manage_pages,read_page_mailboxes"
});
并获得所有Graph-API-Calls的预期结果,但最后一个:
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_mailbox
,因此不应要求read_page_mailboxes
来阅读网页消息。并且read_mailbox
无法授予....
答案 0 :(得分:0)
实际上,不推荐使用read_mailbox,并且使用read_page_mailboxes
您是否曾要求Facebook对您的应用进行审核?
我不确定,但我认为这是你没有获得许可的原因
read_page_mailboxes
提供从页面的页面收件箱中读取的功能 由一个人管理。此权限通常与。一起使用 manage_pages权限。
此权限不允许您的应用读取网页所有者的邮箱。 它仅适用于页面的邮箱。
评论如果您的应用请求Facebook必须提供此权限 查看您的应用如何使用它。
常见用法让某人管理其Pages的邮箱 你的应用。
答案 1 :(得分:0)
我找到了一个解决方案:
如果您尝试使用"/" + page.id + "/conversations"
作为网页管理员访问对话,我只需将其作为网页本身访问:"me/conversations?access_token=" + page.access_token