友達が作成した/招待されたイベントの数を取得する簡単な方法があるかどうか疑問に思っていました. イベントがいくつあるかを知る必要があるだけです。そうです
$fql = "SELECT name, id, pic FROM profile WHERE id IN (SELECT uid2 FROM friend WHERE uid1 = me() )";
$user_profiles = $facebook->api( array(
'method' => 'fql.query',
'query' => $fql,
) );
$fql = array();
// Select '' to minimize xml output
foreach ( $user_profiles as $user ) {
$id = $user['id'];
$fql[$id] = "select '' FROM event WHERE eid in (select eid from event_member where uid = $id)";
}
$user_events = $facebook->api( array(
'method' => 'fql.multiquery',
'queries' => $fql,
) );
例外がスローされ、エラー メッセージはAn unknown error occurred
. 私は 1311 人の友人を持っているので、おそらくいくつかの制限に達しています。2 つの値だけでテストしました (54 と 106 でテストして動作しました)。問題はありませんでした。これを行う別の方法はありますか?限界?
編集-制限は約250です。しかし、その数のマルチクエリを作成することは信頼できないようです.200に固執する方が良いと思います.クエリを削除しました
$fql[$id] = "select '' from event_member where uid = $id LIMIT 1";
そのため、ユーザーが実際に招待を持っているという事実だけを取得します。