Facebook Ads API PHP: загрузка видео с использованием класса AdVideo

Запрос в PHP с использованием API v2.4

Когда я пытаюсь загрузить видео с помощью класса AdVideo, как показано ниже,

  $time_limit = ini_get('max_execution_time');
set_time_limit(0);
$video = new AdVideo(null, $account_id);
$video->{AdVideoFields::NAME} = *name*;
$video->{AdVideoFields::SOURCE} = *video_path*;
try {
$video->create();
} catch (\FacebookAds\Http\Exception\RequestException $e) {
echo "<script>alert('" . $e->getErrorUserMessage() . "')</script>";
set_time_limit($time_limit);
return;
}
set_time_limit($time_limit);

Результат:

Я получаю следующее исключение —
«Тайм-аут операции через 60000 миллисекунд при получении 0 байтов»

Размер загружаемого видео составляет около 20 МБ, и для его загрузки потребуется больше времени. Как справиться с этим? Есть ли способ показать прогресс загрузки? Поддерживает ли этот класс загрузку по частям?

Пробовал set_time_limit (0); но не поможет

3

Решение

Похоже, вы достигли таймаута CURL, который по умолчанию равен 60 в SDK.

Вы можете использовать следующий код, чтобы изменить время ожидания на неограниченное:

Api::instance()
->getHttpClient()
->getAdapter()
->getOpts()
->offsetSet(CURLOPT_TIMEOUT, 0);
1

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

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

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