0
$queries = '{"query1":"SELECT pid, src, link, caption, like_info, created FROM photo WHERE aid in ( SELECT aid FROM album WHERE owner = me() AND type = \"profile\" AND name = \"Profile Pictures\" ORDER BY created ASC LIMIT 1)","query2":"SELECT pid, src, link, caption, created, like_info FROM photo WHERE aid in ( SELECT aid FROM album WHERE owner = me() AND type = \"profile\" AND name = \"Profile Pictures\" ORDER BY created DESC LIMIT 1)"}';    
$multiquery = "https://api.facebook.com/method/fql.multiquery?queries=" . urlencode($queries) . "&format=json&" . $access_token;
$res = json_decode(file_get_contents($multiquery), TRUE);

しかし、2つの単一のクエリを実行すると、正常に機能します。ここでの問題は何ですか?

最初と最後のプロフィール写真を取得しようとしています

4

1 に答える 1

1

いくつかのコメント:

これを行う最良の方法は、ではなくPHPSDKfile_get_contentsを使用することです。

非推奨の古いRESTAPIURLを使用しています。GraphAPIのURLを使用する必要があります。https://graph.facebook.com/fql?q=

$access_token変数には&access_token=クエリ文字列の一部が含まれていますか?

最後に、クエリをまっすぐに保つために、クエリ名をキーとして配列の要素としてこれらを追加し、エラーのないjsonに結合する$fql['query1'] = 'SELECT ...'のが最善の方法であることがわかりました。json_encode(preg_replace('/\s+/', ' ', $fql))

于 2012-10-08T20:04:41.230 に答える