API Graph: Могу ли я сделать несколько вызовов одновременно? - PullRequest
0 голосов
/ 18 ноября 2011

На самом деле я хочу получить обложку для альбомов каждого пользователя.

Итак, сначала я получаю данные об альбомах:

$albums = $GLOBALS["facebook"]->api("/me/albums",'GET');

Затем я получаю идентификатор cover_photo и спрашиваюAPI, чтобы получить подробности об этой фотографии (например, источник)

foreach($albums as $album) {
     $data = $GLOBALS["facebook"]->api("/". $album["cover_photo"], 'GET');
}

Но это вызывает много вызовов API (по одному на альбом), и кажется, что она не любит .. Потому что мойприложение возвращает ошибку тайм-аута.

Есть ли другой способ сделать то, что я хочу?

Спасибо.

1 Ответ

0 голосов
/ 18 ноября 2011

Вы всегда можете использовать Batch API или просто использовать FQL. Примерно так, как показано ниже, можно получить src всех обложек альбомов текущего пользователя:

SELECT src 
FROM photo 
WHERE pid IN (
    SELECT cover_pid 
    FROM album 
    WHERE owner = me()
)

Вы можете попробовать здесь . Очевидно, что вы можете выбрать любое поле для извлечения из таблицы photo.

...