Facebook Graph API - 如何从相册中检索不同尺寸的照片?

Tom*_*mas 33 facebook facebook-graph-api

好的,首先让我告诉你我没有问题获取用户的相册并循环输出以显示我想要的所有尺寸的照片.

但是,如果我想打电话给照片:

<img src="https://graph.facebook.com/<?=$this->session->page->photo_id?>/picture?access_token=<?=$this->session->member->facebook_access_token?>" />
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何告诉它我希望它显示的大小.

在这个来自Facebook的示例代码中,您将看到乳清检索相册,阵列中的每张照片都会返回此示例数组中的不同大小.我可以从中保存缩略图网址,但我不想存储它,只需在需要时检索.

{
   "id": "10150146071831729",
   "from": {
      "name": "Facebook",
      "category": "Product/service",
      "id": "20531316728"
   },
   "picture": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_s.jpg",
   "source": "http://a7.sphotos.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_n.jpg",
   "height": 483,
   "width": 720,
   "images": [
      {
         "height": 483,
         "width": 720,
         "source": "http://a7.sphotos.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_n.jpg"
      },
      {
         "height": 120,
         "width": 180,
         "source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_a.jpg"
      },
      {
         "height": 87,
         "width": 130,
         "source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_s.jpg"
      },
      {
         "height": 50,
         "width": 75,
         "source": "http://photos-g.ak.fbcdn.net/hphotos-ak-ash1/168119_10150146071831729_20531316728_7844072_5116892_t.jpg"
      }
   ],
   ....... continued...
}
Run Code Online (Sandbox Code Playgroud)

必须有一种方法来检索这些不同的大小.

谢谢.

cya*_*ang 51

Facebook为图片字段提供了一个类型选项,例如,您可以指定以下内容:

<img src="https://graph.facebook.com/xxx/picture?access_token=yyy&type=normal />
Run Code Online (Sandbox Code Playgroud)

其中类型参数可以是一个正方形,,正常,或于轮廓的照片或缩略图,正常,专辑为专辑图片.

资料来源:http://developers.facebook.com/docs/reference/api/user/(在"连接"部分下)

编辑:为相册图片添加了不同的选项

  • 不,谢谢.type =(square,small,normal,large)仅适用于个人资料照片,不适用于相册照片. (9认同)
  • 不需要访问令牌.`https://graph.facebook.com/xxx/picture?type=(small,normal,large,square)`就像一个魅力. (5认同)
  • 很奇怪,我没有得到任何有效类型的回报.真棒.Facebook文档完全废话.值得庆幸的是,Graph非常易于使用. (4认同)

Wil*_*och 7

我想在Graph API中获取更大的图像尺寸时,我会分享一些小技巧.Facebook作为一个小常规,图像URL不是很明显.例如,请使用以下URL:

https://fbcdn-photos-ga.akamaihd.net/hphotos-ak-prn2/t1/1185356_10201176263222205_1153673992_s.jpg

注意到_s.jpg最后?这决定了图像的大小.您可以将其更改_o.jpg为"原始"全尺寸版本.换句话说,将图片网址更新为:

https://fbcdn-photos-ga.akamaihd.net/hphotos-ak-prn2/t1/1185356_10201176263222205_1153673992_o.jpg

每张Facebook图片都有一个_o.jpg版本.最糟糕的情况是,您获得与缩略图相同大小的内容.如果是这样的话,那你就没有比以前更好的了.