如果我的应用程序在 Facebook 上默认授予 user_friends 权限,为什么我无法检索到多个好友?
Why can't I retrieve a number of friends if my app has been granted a user_friends permission by default on Facebook?
我很困惑为什么 Graph API
returns 只有 id 值,当我调用这个时:
$response->get('/10207252567926988?fields=id,friends&access_token='.$accessToken);
注意:这个ID是app-scoped user ID,用户已经授权了我的app。这是应用程序访问令牌,而不是用户访问令牌(但当我用用户访问令牌替换它时也会发生同样的情况)。这是 developers.facebook.com
中的内容
所以 user_friends
权限默认获得批准,但我仍然从 Graph
得到空响应。可能是因为上图中的这几个权限是登录权限,所以只有在登录我的应用程序的过程中,用户才能给我他的朋友数量数据,而不是之后?是否可以在没有用户 accessToken
但使用应用程序 accessToken
的情况下获得 total_count
个朋友?
您的应用只能访问 to/return 当前用户的好友,这些好友也是您的应用的用户,并且也已向您的应用授予 user_friends
权限。
是的,通过在 Fb.login()
调用范围内指定 user_friends
权限,您的应用程序将提示用户获得该权限。例如:
FB.login(
callbackFunction,
{ scope: "public_profile,email,user_friends" }
);
但是,用户始终可以在出现提示时通过单击 "No" 来拒绝授予 "user_friends" 职位。
- 为了强制执行它,您必须立即检查用户是否确实授予了该权限,并且....
- 如果没有,请重新请求使用该范围登录并阻止进一步的应用功能,除非您收到它。
但是... 即使用户确实授予您的应用程序权限,如果他们没有任何使用该应用程序的朋友,或者那些好友未授予您的应用 user_friends
权限,那么您将只能看到好友总数。
我很困惑为什么 Graph API
returns 只有 id 值,当我调用这个时:
$response->get('/10207252567926988?fields=id,friends&access_token='.$accessToken);
注意:这个ID是app-scoped user ID,用户已经授权了我的app。这是应用程序访问令牌,而不是用户访问令牌(但当我用用户访问令牌替换它时也会发生同样的情况)。这是 developers.facebook.com
中的内容
所以 user_friends
权限默认获得批准,但我仍然从 Graph
得到空响应。可能是因为上图中的这几个权限是登录权限,所以只有在登录我的应用程序的过程中,用户才能给我他的朋友数量数据,而不是之后?是否可以在没有用户 accessToken
但使用应用程序 accessToken
的情况下获得 total_count
个朋友?
您的应用只能访问 to/return 当前用户的好友,这些好友也是您的应用的用户,并且也已向您的应用授予
user_friends
权限。是的,通过在
Fb.login()
调用范围内指定user_friends
权限,您的应用程序将提示用户获得该权限。例如:FB.login( callbackFunction, { scope: "public_profile,email,user_friends" } );
但是,用户始终可以在出现提示时通过单击 "No" 来拒绝授予 "user_friends" 职位。
- 为了强制执行它,您必须立即检查用户是否确实授予了该权限,并且....
- 如果没有,请重新请求使用该范围登录并阻止进一步的应用功能,除非您收到它。
但是... 即使用户确实授予您的应用程序权限,如果他们没有任何使用该应用程序的朋友,或者那些好友未授予您的应用
user_friends
权限,那么您将只能看到好友总数。