没有访问令牌无法获取 Facebook 用户的个人资料图片
Can't get facebook user's profile picture without access token
我以这种方式获取用户的个人资料图片: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 后,您可以使用 API 从 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
.
我以这种方式获取用户的个人资料图片: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 后,您可以使用 API 从 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
.