获取Facebook个人资料图片相册

3

我正在尝试获取用户在 Facebook 中的所有个人资料图片。目前,我已经发现我需要查看 "me/albums",而我想要的相册是唯一一个 type: 'profile' 的相册。

我还发现我无法过滤出 type。因此,我的想法是先检索单个用户所有的相册,然后找到我需要的那个相册。但是假设我的用户有很多相册,则来自 Facebook 的第一个响应可能不包含我需要的相册。那么我就需要发送另一个请求来获取下一页。

我的问题是:

  • 是否真的没有办法过滤出 type
  • 我能否做出关于个人资料图片相册所在页数的假设?

目前我们正在检索所有(最多 300 个)相册,然后再查找其中的内容,但这需要太长时间。因此我们需要优化这一部分。顺便说一下,这是一个使用 Koala 处理 Facebook 交互的 Rails 3 应用程序。


1
Facebook是程序员的Facebook吗? :) 我已经编辑了标题。 - vulkanino
抱歉,谢谢。 :) - ksol
2个回答

7

您可以使用

https://graph.facebook.com/me/fql?q=select+aid+from+album+where+owner=me()+and+type="profile"&access_token=...

更新

这将直接返回只有个人资料图片:

https://graph.facebook.com/me/fql?q=select+pid,src_small+from+photo+where+aid+in(select+aid+from+album+where+owner=me()+and+type="profile")&access_token=...

谢谢,它有效。不过我之前尝试使用 WHERE type='profile' 时为什么会出错我也不知道。 - ksol
如果进行其他图形 API 调用,可能需要 object_id 而不是 "aid":SELECT object_id FROM album WHERE owner=me() and type="profile" - Plastic Sturgeon
由于某种原因,FQL 对我来说无法工作 - 我一直在使用 Graph Explorer 进行尝试。有可能你能重新格式化它吗? - daspianist
2.0版本之后将不再支持FQL:https://developers.facebook.com/docs/reference/fql/ - munjal
1
从2016年8月8日起,FQL将不再可用。我们必须使用Graph API。 - arjavlad

-1

不,Graph API 中没有特定检索个人资料照片相册的方法;但是你可以轻松地在用户基本信息中获取当前个人资料图片。

为什么不在一个调用中检索所有相册名称(/me/albums?fields=name&limit=500),然后在代码中循环遍历它们呢?这真的不会花费太长时间,对吧?

{编辑} Alexander 的解决方案也应该可行,但我还没有检查过。


循环可能非常缓慢。 - bobo2000

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接