检索 Facebook 专辑封面
Retrieving Facebook album covers
我正在尝试获取相册封面,让用户选择相册,然后选择相册中的照片。作为第一步,目前我的计划是使用基本的 HTTP
请求(AngularJS
$resource
):
- 得到
user.id
- 查询
graph.facebook.com/user.id/albums/
,得到album.id
和album.cover_photo
的列表
通过 graph.facebook.com/album.cover_photo/
查询每个 album
以获得 cover_photo.images
并选择一张大小合适的图像
用户选择相册后,用之前得到的album.id
查询graph.facebook.com/album.id/photos
,现在我得到了所有大小的照片url ,大部分不会用到。
这听起来查询挺多的,在第4步我会得到很多不必要的信息,不知道有没有更好的方法(比如说我只需要height
的图片960px
)?
您可以一步完成第 1 步和第 2 步:
/me?fields=id,albums{id,cover_photo}
对于你的第三步,没有直接的方法通过 Graph API 调用来完成,这意味着你必须在你的应用程序中过滤尺寸
见
- https://developers.facebook.com/docs/graph-api/reference/v2.2/album/photos
- https://developers.facebook.com/docs/graph-api/reference/v2.2/photo
对于您的第 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())
我正在尝试获取相册封面,让用户选择相册,然后选择相册中的照片。作为第一步,目前我的计划是使用基本的 HTTP
请求(AngularJS
$resource
):
- 得到
user.id
- 查询
graph.facebook.com/user.id/albums/
,得到album.id
和album.cover_photo
的列表
通过
graph.facebook.com/album.cover_photo/
查询每个album
以获得cover_photo.images
并选择一张大小合适的图像用户选择相册后,用之前得到的
album.id
查询graph.facebook.com/album.id/photos
,现在我得到了所有大小的照片url ,大部分不会用到。
这听起来查询挺多的,在第4步我会得到很多不必要的信息,不知道有没有更好的方法(比如说我只需要height
的图片960px
)?
您可以一步完成第 1 步和第 2 步:
/me?fields=id,albums{id,cover_photo}
对于你的第三步,没有直接的方法通过 Graph API 调用来完成,这意味着你必须在你的应用程序中过滤尺寸
见
- https://developers.facebook.com/docs/graph-api/reference/v2.2/album/photos
- https://developers.facebook.com/docs/graph-api/reference/v2.2/photo
对于您的第 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())