1

すべての写真 FID アルバムを取得したい。

たとえば、私にはアルバムがあり、もちろん友達にもアルバムがあります。

次の方法でアルバムの FID を取得できます。

SELECT object_id FROM album WHERE owner IN (...)

出来た。今、私はこのアルバムの写真を取得したい:

SELECT object_id from photo WHERE album_object_id IN (albumFid1,albumFid2)

エラーが発生するようになりました (空または切り捨てられたデータ)。IN() で 1 つのパラメーターのみを使用する場合は、すべて問題ありません。写真のフィッドが見えます。しかし、複数のアルバム FID を使用すると、正しくないデータが取得され始めます。誰がアルバムの所有者であっても。

私は簡単なテストを試みます: すべてのアルバムのすべての写真ファイルを取得します:

fql?q={"albums":"SELECT object_id FROM album WHERE owner = me()", "photos":"SELECT object_id from photo WHERE album_object_id IN (SELECT object_id FROM #albums)"}

出来た。友達を使ってもうまくいきました。しかし、複数のユーザーと、異なるユーザーのアルバム FID を使用すると、魔法のような結果が得られます。

https://developers.facebook.com/bugs/445214712163793でバグを開きます。しかし、何の反応もありません。バグでは、2 つのアルバム (私と友人) の状況を使用します。diff の結果を取得してから、IN() で diff アルバムの fids 順序を使用します。

興味深いことに、その 2 週間前はすべて正しく機能していました。

4

1 に答える 1

1

解決策は 1 つだけです。FQL マルチ クエリを使用します。各クエリ - 1 つのユーザー アルバム。

于 2012-06-20T14:29:09.130 に答える