Клуб API Диска

Не всегда получаю картинки в preview

11 июня, 10:17

Здравствуйте!

Делаю вызов:

$headers = array("Authorization: {$this->yadisk_token}");
$curl = curl_init('https://cloud-api.yandex.net/v1/disk/resources?path=disk:/'.$full_yd_path.'&preview_size=300x300');
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl,CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$info = curl_exec($curl);
if($info != '')
{
	$response = json_decode($info);

	if(!empty($response->_embedded->items))
	{
		foreach($response->_embedded->items as $item)
		{
			$file_list[] = array(
				'preview' => $item->preview,
				'path' => $item->path,
				'name' => $item->name,
				'size' => $item->size,
			);
		}
	}
}

В ответе приходят ссылки на preview файлов. Все хорошо.

При выполнении такого же запроса через какое-то время в полях preview приходят ссылки, при переходе на которые получаю "403 Forbidden".

Потом проходит какое-то время, снова этот же запрос дает небитые превьюшки.

Не могу понять, что делаю не так. Может, в Диске есть какая-то защита на количество запросов информации по одному и тому же ресурсу?

У только что сохраненной на Диске фотографии preview не формируется. Существует задержка какая-то?

Делаю еще запрос, вообще поле preview в элементе массива items нет.