检索 Facebook 专辑封面

Retrieving Facebook album covers

我正在尝试获取相册封面,让用户选择相册,然后选择相册中的照片。作为第一步,目前我的计划是使用基本的 HTTP 请求(AngularJS $resource):

  1. 得到user.id
  2. 查询graph.facebook.com/user.id/albums/,得到album.idalbum.cover_photo
  3. 的列表
  4. 通过 graph.facebook.com/album.cover_photo/ 查询每个 album 以获得 cover_photo.images 并选择一张大小合适的图像

  5. 用户选择相册后,用之前得到的album.id查询graph.facebook.com/album.id/photos,现在我得到了所有大小的照片url ,大部分不会用到。

这听起来查询挺多的,在第4步我会得到很多不必要的信息,不知道有没有更好的方法(比如说我只需要height的图片960px)?

您可以一步完成第 1 步和第 2 步:

/me?fields=id,albums{id,cover_photo}

对于你的第三步,没有直接的方法通过 Graph API 调用来完成,这意味着你必须在你的应用程序中过滤尺寸

对于您的第 4 步,情况与第 3 步相同。您必须解析结果数据。您可以做的是使用 Batch API 来包装步骤 1/2 和 3.

如果您可以使用 FQL(意味着您有 <=v2.0 应用程序),您也可以使用 FQL 一次执行步骤 1、2、3:

select owner, album_object_id, object_id, images from photo where pid in (select cover_pid from album where owner=me())