我已经设置了一个Facebook页面,我正在尝试使用Facebook应用程序作为页面本身的页面发布。
使用用户令牌我有页面access_token并确认它具有perms数组中定义的权限,例如。
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
据我在文档中看到,所需的权限是manage_pages和publish_pages,这两个权限都是使用/ {user_id} / permissions端点可以看到的。
{
"data": [
...
{
"permission": "email",
"status": "granted"
},
{
"permission": "manage_pages",
"status": "granted"
},
{
"permission": "publish_pages",
"status": "granted"
},
...
]
}
我还检查了使用访问令牌调试器,它确认令牌有效且具有以下范围:
user_friends, read_page_mailboxes, email, manage_pages, publish_pages, public_profile
如果我然后使用页面access_token对页面进行调用,我可以看到管理员可以获得的额外信息,包括“can_post”设置为true,但是当我执行POST请求发布到Feed时,例如使用POST / {page_id} / feed?access_token = {page_access_token}它会返回:
{
"error": {
"message": "(#200) The user hasn't authorized the application to perform this action",
"type": "OAuthException",
"code": 200,
"fbtrace_id": "CQqJd1hfnMm"
}
}
此时任何帮助都会受到赞赏!
答案 0 :(得分:1)
您需要从您的应用获得“publish_pages”权限。
答案 1 :(得分:1)
答案结果是使用的API版本存在问题,迫使端点使用v2.3或更高版本修复了问题,因为manage_pages
仅在此时引入。不幸的是,这个错误并不是非常具有描述性!