Я загрузил и установил бета-версию PHP-клиента API Google 7 апреля 2015 года. С его помощью я могу загрузить видео на YouTube, но на экране редактирования видео на YouTube флажок «Разрешить встраивание» всегда установлен независимо от того, как Я пытаюсь установить его через API. Это флажок, о котором я говорю:
https://assets.libsyn.com/secure/show/37607/youtube-embeddable2.jpg
Вот мой код перед загрузкой файла:
// set up client
$client = new Google_Client();
$client->setClientId(...);
$client->setClientSecret(...);
$client->refreshToken(...);
$youtube = new Google_Service_YouTube($client);
// create snippet
$snippet = new Google_Service_YouTube_VideoSnippet();
$snippet->setTitle(...);
$snippet->setDescription(...);
// create status
$status = new Google_Service_YouTube_VideoStatus();
$status->setPrivacyStatus("public");
$status->setEmbeddable(false);
// Create a YouTube video with snippet and status
$video = new Google_Service_YouTube_Video();
$video->setSnippet($snippet);
$video->setStatus($status);
$client->setDefer(true);
$insertRequest = $youtube->videos->insert("status,snippet", $video);
// file chunking and upload here...
Параметр privacyStatus в объекте Google_Service_YouTube_VideoStatus работает. Если я установлю «частное», видео будет загружено как личное. Поэтому проблема не в том, чтобы прикрепить статус к видео. Это просто встраиваемая опция, которая, похоже, не работает.
Здесь у меня осталось три возможности:
- я делаю что-то не так
- Я неправильно истолковываю, что делает «встраиваемый» параметр
- Ошибка в клиентской библиотеке
Может ли кто-нибудь сказать мне, с чем я имею дело?
Спасибо!