如何通过一次调用 Facebook Graph API 来获取多个相册图片 URL

How do I get multiple album picture urls with one call to Facebook Graph API

本文关键字:获取 URL API Graph 何通过 Facebook 调用 一次      更新时间:2023-09-26

我可以传递字符串"album.id/photos",然后我得到一个如下所示的列表,其中我有相册中的每个照片ID,但它不返回每张图片的URL(只是id)。然后,我是否必须为要获取其 url 的每张图片运行一次调用,或者有没有办法让 url 与下面的调用一起返回?

{
  "data": [{
    "created_time": "2011-01-21T20:19:49+0000",
    "id": "10150091489547705"
  }, {
    "created_time": "2010-02-03T03:31:56+0000",
    "id": "293935837704"
  }, {
    "created_time": "2009-01-02T02:46:28+0000",
    "id": "56480657704"
  }],
  "paging": {
    "cursors": {
      "before": "MTAxNTAwOTE0ODk1NDc3MDUZD",
      "after": "NTY0ODA2NTc3MDQZD"
    }
  }
}

这是我在 JavaScript 中的调用的样子

 for (var j = 0; j < albumIds.length; j++) { 
    var request = albumIds[j] + "/photos";
    FB.api(request, 'get', {
      access_token: userToken
    }, function(responses) {
      var pictureUrl = responses.data.url; // no url returned - only a photo id
     
    });

无需为每个图片 ID 运行单个请求。

在 api 请求的字段中添加源,该请求返回每张图片的 URL 以及 id。

例如:/{album_id}/photos?fields=source,created_time

返回如下输出:

{
"data": [
    {
    "source" : <source_url1>,
    "created_time" : <created_time1>,
    "id" : <photo_id1>
    },
   {
    "source" : <source_url2>,
    "created_time" : <created_time2>,
    "id" : <photo_id2>
   }
]
}

希望这对:)有所帮助