【发布时间】:2015-11-29 03:47:09
【问题描述】:
我的应用程序使用此端点来检索用户有权访问的页面列表。
对于我的个人帐户,即页面管理员,它可以正常工作:
https://graph.facebook.com/me/accounts?access_token=[accesstoken_for_my_personal_profile]
Results:
{
"data": [
{
"access_token": "<the access token>",
"category": "Record Label",
"name": "Page Name",
"id": "Page ID",
"perms": [
"ADMINISTER",
"EDIT_PROFILE",
"CREATE_CONTENT",
"MODERATE_CONTENT",
"CREATE_ADS",
"BASIC_ADMIN"
]
}
]
}
但是当我们创建一个全新的 facebook 个人资料(普通用户,根据我个人的个人资料) - 并使用基于手机/短信的验证对其进行验证时,它只会在此处返回空白,尽管页面管理员可以访问相同的页面并以完全相同的方式请求访问令牌:
https://graph.facebook.com/me/accounts?access_token=[accesstoken_for_newly_created_profile]
{
"data": [
]
}
更新 访问令牌权限也不同。
因此,当调用https://graph.facebook.com/me/permissions?access_token=xxx 时,坏用户只有 public_profile 并安装为“已授予” - 但好用户拥有所有请求的权限,包括“manage_pages”。
这会指向一个登录页面,该页面以我们需要令牌的用户身份登录。
【问题讨论】:
-
调试“新”用户的访问令牌,看看它是否真的包含你认为的权限。 developers.facebook.com/tools/debug
-
不,它没有 - 我会更新问题,因为访问令牌的请求与“工作”用户相同。好像它无法发出具有请求权限的令牌一样,请注意近期问题更新。
-
新用户在应用中是否有角色?否则,您需要先让 Facebook 审核您的权限,然后才能向普通用户请求权限。 developers.facebook.com/docs/facebook-login/permissions/…
-
如果这就是您的意思,用户都不会在其各自帐户的“应用程序”下显示该应用程序。有些过去工作过的用户在应用中没有专门分配的角色。
-
不,我不是这个意思,我的意思是如果该用户在您的应用中被分配了管理员、开发人员或测试人员角色。
标签: facebook facebook-graph-api