0

如何使用 获取我的朋友个人资料图片的创建日期FQL multi-query

我写了下面的查询:

SELECT src_small, src_big, src FROM photo WHERE src IN
(SELECT pic_square, pic_small, pic_big, pic FROM user WHERE uid IN
(SELECT uid2 FROM friend WHERE uid1 = me()) )

但它说:

{

  "error": {
  "message": "Your statement is not indexable. The WHERE clause must contain an indexable column.    Such columns are marked with * in the tables linked from   http://developers.facebook.com/docs/reference/fql ", 
  "type": "NoIndexFunctionException", 
  "code": 604
 }
}

提前致谢。

4

1 回答 1

2

来自 Arjuna Del Toso 的评论:

只有在 WHERE 子句中标记为“可索引”时,才能使用该列

不,这并不完全正确。

您的 where 子句中至少需要一个可索引列——一旦有了,您也可以使用其他非索引列来进一步限制结果。


由于用户当前的头像总是他们头像相册的相册封面照片,我们可以使用它来获取我们朋友的头像,然后使用它从表格中选择我们想要的信息:object_idphoto

SELECT owner, src_small, created FROM photo WHERE object_id IN (
  SELECT cover_object_id FROM album WHERE owner IN (
    SELECT uid1 FROM friend WHERE uid2 = me()
  ) AND name = 'Profile Pictures'
)
于 2012-08-30T14:56:14.510 回答