使用FQL从当前用户喜欢的照片表中获取照片

时间:2012-03-21 10:33:00

标签: facebook facebook-fql

我正在尝试从照片表中获取照片,但只是用户喜欢的照片。

照片表中有一个名为like_info的字段,它返回一个包含3个字段的对象,其中一个是user_likes:表示当前会话用户是否喜欢这张照片(我需要的全部内容)。 https://developers.facebook.com/docs/reference/fql/photo/

我可以检索此信息(like_info-> user_likes),但我无法在查询中使用它。我试过了

SELECT pid, owner, src, like_info FROM photo WHERE pid IN (433368913233690121,433368913233456540) AND like_info.user_likes=1

这给了我一个错误“user_likes不是like_info标量的成员”。

我知道如果like_info是一个数组,这会有效,但我想知道在这种情况下如何做一个对象。

由于

2 个答案:

答案 0 :(得分:2)

首先我想到的是嵌套来自likephoto表的查询:

SELECT pid, owner, src, like_info FROM photo WHERE pid IN (
  SELECT object_id FROM like WHERE user_id=me() AND object_type="photo"
)

不幸的是,我发现了一个错误(FQL results from like table have wrong object_type),上面的查询无用(让我们希望这会很快得到解决)。

幸运的是,有另一种方法可以与另一种(更复杂的)查询实现相同的结果:

SELECT pid, owner, src, like_info FROM photo WHERE object_id IN (
  SELECT id FROM object_url WHERE id IN (
    SELECT object_id FROM like WHERE user_id=me()
  ) AND type='photo'
)

答案 1 :(得分:0)

之类的表可能会更好运。

SELECT object_id FROM like WHERE user_id=me() AND object_type="photo"