1

Facebook への接続と構成で 3 つのクエリをすべてセットアップしました。戻り値を取得しているため、構成は正しいです。これが私のクエリです:

$fql_friends_fan_pages = array(
    'query1' => "SELECT uid2 FROM friend WHERE uid1 = me()", //get all me()'s friends
    'query2' => "SELECT page_id FROM page_fan WHERE uid IN (SELECT uid2 FROM #query1)", //get all fan page references from friends
    'query3' => "SELECT name FROM page WHERE page_id IN (SELECT page_id FROM #query2)" //get all info from friends' fan pages
);

返されるのは、3 番目ではなく 2 番目のクエリの結果です。完全に無視しているようです。すべての友達のページの情報を取得しようとしています。すべての名前を取得する代わりに、(query2 から) 各ページの page_id を出力します。3 番目のクエリを無視する理由がわかりましたか?

編集:

最初のクエリと 2 番目のクエリを 1 つの大きなクエリにマージすることで、なんとか機能させることができました。FQL マルチクエリで 2 つのクエリの既知の制限はありますか?

$fql_friends_fan_pages = array(
    'query1' => "SELECT uid2 FROM friend WHERE uid1 = me()", //get all me()'s friends
    'query2' => "SELECT page_id FROM page_fan WHERE uid IN (SELECT uid2 FROM #query1)", //get all fan page references from friends
    'query3' => "SELECT name FROM page WHERE page_id IN (SELECT page_id FROM #query2)" //get all info from friends' fan pages
);
$params_friends_fan_pages = array(
    'method' => 'fql.multiquery',
    'queries' => $fql_friends_fan_pages
);
$friends_fan_pages = $facebook->api($params_friends_fan_pages);
4

0 に答える 0