すべての写真 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 週間前はすべて正しく機能していました。