3

此 FQL 试图为我的朋友获取照片

[1]

{"query1":"SELECT owner, object_id, src_big FROM photo
WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me())"}

思考几秒钟后提供此错误响应...

{"error_code":1,"error_msg":"An unknown error occurred"}

但是这个为我的朋友获取专辑的查询将起作用并返回专辑信息的 JSON 对象

[2]

{"query1":"SELECT aid, owner, name FROM album
WHERE owner IN (SELECT uid2 FROM friend WHERE uid1=me())"}

为什么 [2] 有效但 [1] 无效?

4

2 回答 2

0

确实,这很奇怪。但是这个做你想要的:

SELECT owner, object_id, src_big 
FROM photo WHERE aid IN (
     SELECT aid FROM album WHERE owner in (
          SELECT uid2 FROM friend WHERE uid1=me()
     )
)

享受分页带来的乐趣!

于 2012-12-12T22:30:28.957 回答
0

查询[1]返回所有照片对象,而查询[2]返回相册对象。照片的数量大多数时候会远大于相册的数量。因此,如果每个朋友有 10 个相册,每个相册有 100 张照片,则查询大小会增加,并且由于 FQL 不使用任何形式的分页,因此您会一次全部提取。

考虑将来使用多查询或使用 LIMITS 批处理

于 2013-06-12T22:38:12.637 回答