0

FQL で、1 つの要求ですべての友人の最新の写真を降順に並べ替えようとしましたが、このクエリに応答して 2 人の友人の写真しかありません。

SELECT src_small ,owner,created FROM photo WHERE aid IN (
SELECT aid FROM album WHERE owner IN (
SELECT uid2 FROM friend WHERE uid1=me()
)
)ORDER BY created DESC

サブクエリの order by を削除すると、5 人の友人の写真しかないのと同じ問題です

私は良い権限を持っています

今週の最新の写真をロードしたいので、私にとっては非常に問題があります(すべての友達を含め、友達をリストします)

この問題を解決するアイデアはありますか?

助けてくれてありがとう、私は完全に立ち往生していてがっかりしています

4

1 に答える 1

1

問題は、返されるデータの量が制限されていることです。FBは、約5Kの値に制限します。[平均1,000枚の写真を持つ5人の友達=5K]。FQLには、写真をページングする方法がありません。

あなたがする必要があるのは、各アルバムを入手し、作成日で注文し、あなたが持っている友達の数に応じてその結果を制限することです。(1,000人の友達=各5枚の写真)

以下のコード(わかりやすくするために3つの部分に分割)から、必要に応じて多くのアルバムが返されることがわかりますが、5から返される写真が少なすぎます。単純なFQLの答えはありません。

{
"query1":"SELECT uid2 FROM friend WHERE uid1=me()",
"query2":"SELECT aid,owner FROM album WHERE owner IN (SELECT uid2 FROM #query1)",
"query3":"SELECT src_small ,owner,created FROM photo WHERE aid IN (SELECT aid FROM #query2) ORDER BY created DESC"

}

于 2012-12-10T07:28:47.267 に答える