无法使用页面令牌

时间:2015-10-27 18:37:59

标签: c# facebook facebook-graph-api

我已经设置了一个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"
  }
}

此时任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:1)

您需要从您的应用获得“publish_pages”权限。

答案 1 :(得分:1)

答案结果是使用的API版本存在问题,迫使端点使用v2.3或更高版本修复了问题,因为manage_pages仅在此时引入。不幸的是,这个错误并不是非常具有描述性!