【问题标题】:Can't get facebook user's profile picture without access token没有访问令牌,无法获取 Facebook 用户的个人资料图片
【发布时间】:2021-01-04 08:00:34
【问题描述】:

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

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

【问题讨论】:

标签: facebook facebook-graph-api firebase-authentication


【解决方案1】:

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

安卓

 @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;
  } 
} );

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

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

【讨论】:

  • 嘿@Adeolaex,应用程序是否需要“实时”或“验证”才能获得有效的访问令牌?
  • 嘿@Alex。不,即使不是所有 API,仍然可以在“开发中”的应用程序上使用大部分 API。因此,要回答您的问题,该应用无需“实时”即可获取访问令牌。
  • 我已测试将“ACESS_TOKEN”附加到请求中,但收到以下消息:“不支持获取请求。ID 为“1234567”的对象不存在,由于缺少权限而无法加载,或不支持此操作。请阅读 developers.facebook.com/docs/graph-api" 的 Graph API 文档
  • 我之前的评论可能有误。在 Facebook 应用控制面板上,请导航至左侧角落的角色部分,并确保已设置管理员。如果应用程序不是“实时”的,则将限制使用此类帐户进行 API 调用。我相信 Admin、Dev 和 Tester 帐户。如果这有帮助,请告诉我。
【解决方案2】:

我还获得了在 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

【讨论】:

    猜你喜欢
    • 2020-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    相关资源
    最近更新 更多