如何解决没有访问令牌无法获取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应用程序的代码或配置中的任何内容,昨天一切都像个魅力一样。
重要信息:我的应用程序处于开发模式
解决方法
根据您的平台,您可以获得临时访问令牌
Android
@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之后,您就可以使用https://graph.facebook.com/USER_ID/picture?access_token=ACCESS_TOKEN
从Graph API获取用户的Facebook个人资料图片,就像您说的那样。
我还获得了在 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
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。