Как использовать fql и graph api вместе в пакетном запросе facebook? - PullRequest
1 голос
/ 18 января 2012

Как использовать fql и graph api вместе в пакетном запросе facebook? Я хочу получить информацию о себе, используя graph api, и сообщения моего друга за последние 30 дней, используя fql.

1 Ответ

1 голос
/ 14 марта 2012

У меня была такая же проблема. Хотя уже очень поздно отвечать на вопрос, это кому-нибудь поможет. Поэтому отвечаю на этот вопрос.

// $ current_user = идентификатор Facebook

 $query1="SELECT uid, name FROM user WHERE is_app_user=1 AND uid IN (SELECT uid2 FROM friend WHERE uid1 = $current_user)";
 $query2="SELECT uid, name, work_history FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = $current_user )";
 $query3="SELECT uid, name, work, education FROM user WHERE uid = $current_user";
 $queries = array(
           array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query1)),
           array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query2)),
           array('method'=>'GET', 'relative_url'=>'method/fql.query?query='.str_replace(' ','+',$query3))
            );

            $objs = $facebook->api('/?batch='.json_encode($queries), 'POST');

$ objs получает массив json всего результата запросов.

И это сильно экономит время. Это 3 запроса в отдельности занимает всего 9 секунд. С несколькими запросами это занимает 7 секунд. И с пакетным запросом это занимает 3,6 секунды.

...