首页 > 解决方案 > 没有访问令牌,无法获取 Facebook 用户的个人资料图片

问题描述

我以这种方式获取用户的个人资料图片: https ://graph.facebook.com/USER_ID/picture ,直到今天一切都很好。今天我吃了我的应用程序,我开始获取默认的个人资料图片,而不是真实的。

看来现在我需要访问令牌。

不工作

https://graph.facebook.com/USER_ID/picture

在职的

https://graph.facebook.com/USER_ID/picture?access_token=ACCESS_TOKEN

问题

发生了什么?我没有更改 fb 应用程序的代码或配置中的任何内容,昨天一切都像魅力一样工作。

重要提示:我的应用处于开发模式

标签: facebookfacebook-graph-apifirebase-authentication

解决方案


根据您的平台,您可以获得临时访问令牌

安卓

 @Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    accessToken = AccessToken.getCurrentAccessToken();
}

iOS

- (void)viewDidLoad
{
  [super viewDidLoad];
  NSString *accessToken = [FBSDKAccessToken currentAccessToken];
}

Javascript

FB.getLoginStatus(function(response) {
  if (response.status === 'connected') {
    var accessToken = response.authResponse.accessToken;
  } 
} );

更详细的代码片段和解释可以在这里找到https://developers.facebook.com/docs/facebook-login/access-tokens

获得 accessToken 后,您可以使用 Graph API 从 Graph API 中获取用户的 Facebook 个人资料图片https://graph.facebook.com/USER_ID/picture?access_token=ACCESS_TOKEN,就像您说的那样。


推荐阅读