1

FQL に次のクエリを使用しています。

SELECT pid, object_id, caption, like_info, comment_info, src, src_small, src_big, images FROM photo WHERE album_object_id="10151088306597851" ORDER BY like_info DESC 

コンソールで正常に動作するか確認してください: https://developers.facebook.com/tools/explorer?method=GET&path=fql%3Fq%3DSELECT%20pid%2C%20object_id%2C%20caption%2C%20like_info%2C%20comment_info %2C%20src%2C%20src_small%2C%20src_big%2C%20images%20FROM%20photo%20WHERE%20album_object_id%3D%2210151088306597851%22%20ORDER%20BY%20like_info%20DESC

しかし、Javascript SDK を FB.api() メソッドで使用すると、エラー 604 で失敗します。 developers.facebook.com/docs/reference/fql "しかし、テーブル "photo" "album_object_id" のドキュメントによると、IS indexable..

これは私のJavascriptコードです:

    if (album_object_id) {
        var query = 'SELECT pid, object_id, caption, like_info, comment_info, src, src_small, src_big, images FROM photo WHERE album_object_id="' + album_object_id + '" ORDER BY like_info DESC';
        //console.log(query);return;
        FB.api('/fql?q=' + encodeURI(query), callback);
    }

クエリをログに記録し、それをコピーしてグラフ API コンソールに貼り付けると、正常に動作します..

手がかりはありますか??

乾杯Sjoerd

4

1 に答える 1

3

この構文のencodeURIによって導入されたクエリエンコーディングの問題があると思います。次のコードは完全に機能し、82 個のアイテムを返します。

var query = 'SELECT pid, object_id, caption, like_info, comment_info, src, src_small, src_big, images FROM photo WHERE album_object_id="10151088306597851" ORDER BY like_info DESC';

FB.api('/fql', {q: query}, function(r) {
        console.log(r)
    });
}
于 2012-10-23T20:39:25.427 に答える