【问题标题】:Facebook graph user picture won't show on mobile devicesFacebook 图表用户图片不会显示在移动设备上
【发布时间】:2018-03-27 13:08:15
【问题描述】:

我使用 url https://graph.facebook.com/{app_user_id}/picture?width=120&height=120 在我的应用上显示用户图片,但从今天早上开始,它已停止在移动设备上运行。

现在,相同的 url 重定向到 https://lookaside.facebook.com/platform/profilepic/?asid={app_user_id}&height=120&width=120。此网址适用于桌面网络,但在移动设备上它会再次重定向到https://m.facebook.com/platform/profilepic/?asid={app_user_id}&height=120&width=120,并且移动网络拒绝输出图像。如果我尝试在地址栏中加载它,它会被下载而不是显示。

我已经在 Facebook 图形 api 上搜索了关于此的任何更改,但没有找到任何内容。有什么提示可以解决这个问题吗?谢谢。

【问题讨论】:

标签: facebook facebook-graph-api


【解决方案1】:

这似乎是一个错误。今天早上早些时候开始发生在我的应用程序上。目前还没有修复。

已在 Facebook 上为开发者提交的一些错误报告:

  1. Profile Pictures Can't Load
  2. Graph API Profile picture doesn`t work on mobile
  3. Cross site policy error while accessing graph pictures

【讨论】:

  • 谢谢,希望他们修复它。也许这与剑桥分析丑闻有关。
  • 他们已经承认了这个问题并影响了他们的团队,请参阅developers.facebook.com/bugs/261587761048160
  • 哇,花了几个小时搜索和“修复”我的网站才最终找到这个。我希望 FB 能找到一种方法在发生这种情况时向我们发送通知。我的意思是移动设备上的个人资料图片问题非常重要。
  • 问题现已修复/如果您有 CSP 策略,请注意新的 lookaside.facebook.com
【解决方案2】:

我今天遇到了同样的问题,我找到了解决方案,它对我有用。

登录后我们会看到下面的个人资料图片网址

http://graph.facebook.com/11111111111/picture?type=large&height=320&width=420

11111111111 是您的社交 id/facebook id

现在我们需要更改此 URL 以显示图像, 这是代码。

try {
     profile_pic = new URL("https://graph.facebook.com/" + id + "/picture?type=large");
     Log.i("profile_pic", profile_pic + "");
     Picasso.with(getContext()).
     load(profile_pic.toString())
     .placeholder(R.drawable.img)
     .into(imageviewId);
     }
catch (MalformedURLException e) {
       e.printStackTrace();
    }

id 是您的社交 ID/Facebook id

简而言之,我们只需要从 url 中删除 &height=320&width=420

你可以比较两个网址:

http://graph.facebook.com/11111111111/picture?type=large&height=320&width=420

https://graph.facebook.com/11111111111/picture?type=large

是的,您还需要将 http 更改为 https

【讨论】:

    【解决方案3】:

    虽然我没有找到任何官方公告,但Facebook在最近几天改变了他们的api,现在当你请求用户的公开个人资料时,图片url有额外的参数,exthash

    在没有这些参数的情况下调用 url 会返回 404 错误。

    不确定更改是否仅影响页面范围 ID。

    目前,当您请求用户的公开个人资料数据时,网址如下所示 https://lookaside.facebook.com/platform/profilepic/?psid=PAGE_SCOPED_ID&height=1024&ext=1522585606&hash=AeThc8c7EQDFgShs

    之前

    https://lookaside.facebook.com/platform/profilepic/?psid=PAGE_SCOPED_ID&height=1024

    在我看来,目前唯一已知的解决方案是请求新的公开个人资料数据并更新您的数据库。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-30
      • 1970-01-01
      • 1970-01-01
      • 2020-10-05
      • 1970-01-01
      相关资源
      最近更新 更多