首页 > 解决方案 > 强制 FACEBOOK GRAPH API 显示个人资料 url 图片,而不是下载它

问题描述

使用 Facebook API Graph 8.0,我得到一个 JSON

https://graph.facebook.com/v8.0/1234567890?fields=picture&redirect=false&access_token=my_secret_token

内容如下:

{
  "picture": {
    "data": {
      "height": 100,
      "is_silhouette": false,
      "url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=1234&height=100&width=100&ext=1234&hash=abc",
      "width": 100
    }
  },
  "id": "1234567890"
}

但是当我尝试做一个

<img src="https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=1234&height=100&width=100&ext=1234&hash=abc">

不起作用,并且在浏览器中它下载它并且不显示。

如何使用图像和/或如何检索 Facebook 个人资料 URL 以显示它?

提前致谢

标签: jsonimagefacebookfacebook-graph-api

解决方案


如果您只想显示图像,则显示图像的方法比使用访问令牌查询图形 api 然后显示图像更简单。

您可以直接将其与<img>标签一起使用。

只需像这样添加/picture到api调用的末尾

<img src="https://graph.facebook.com/1234567890/picture">

您还可以要求不同的尺寸,例如

<img src="https://graph.facebook.com/1234567890/picture?width=360&height=900">

或方形缩略图

<img src="https://graph.facebook.com/1234567890/picture?type=square">

欲了解更多信息,请点击此处: Facebook graph api v8 User Picture Notice

Facebook 有两种 UID,一种是每个用户在加入 facebook.com 时分配的原始 UID,另一种是每个用户在安装 facebook 应用程序时获得的 App-Scope UID。当调用像/me. 获取原始 UID 的方法是使用不同的技术手动收集它们,或者设置一个网络抓取工具来自动收集它们。

当 user_id 是原始 UID 时,facebook 不推荐使用/user_id/picture端点访问照片,除非提供 access_token 这不应该打扰任何人,因为所有应用程序都会获取应用程序范围 UID,除非您尝试调试您的应用程序并且无法弄清楚它为什么不工作。


推荐阅读