функция — PHP Curl Pagination: более быстрый путь?

Я хочу получить все медиафайлы, которые понравились пользователю, с помощью API Instagram. Instagram в настоящее время возвращает около 300 любимых медиа со следующей конечной точкой:

GET /users/self/media/liked

Каждый вызов возвращает около 30 результатов, поэтому у меня есть около 10 страниц для сканирования с помощью функции скручивания, которая занимает около 10 секунд.

Есть ли более быстрый способ сделать это? Я знаю, что curl_multi позволяет вам стрелять мю

public function fetchLikes()
{
$url = 'https://api.instagram.com/v1/users/self/media/liked?count=100&access_token=' . $access_token;

while (isset($url) && $url != '') {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
$jsonData = curl_exec($ch);
curl_close($ch);

$response = json_decode($jsonData);

foreach ($response->data as $post) {

echo $post->user->username . "<br>";
}

$url = $response->pagination->next_url;
}
}

2

Решение

Переместить ваш curl_init () функционировать перед циклом while и двигаться curl_close () через некоторое время, даже если это не обязательство.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]