3

我以这种方式获取用户的个人资料图片: 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 应用程序的代码或配置中的任何内容,昨天一切都像魅力一样工作。

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

4

2 回答 2

3

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

安卓

 @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,就像您说的那样。

于 2020-10-27T18:21:54.513 回答
1

我还获得了在 Java 上的 Android Studio 中工作的默认灰色 Facebook 个人资料图片。我在 Gradle 中有以下 facebook-login 版本 8.2.0 依赖项: implementation 'com.facebook.android:facebook-login:8.2.0'.

我在 Java 上的 Android Studio 中编写代码。对我有用的解决方案是在使用此行登录时获取个人资料图片:

Uri photoUrl = Profile.getCurrentProfile().getProfilePictureUri(200, 200);

从哪里来。Profile_import com.facebook.Profile

于 2021-01-28T16:52:27.787 回答