Встраиваемая настройка Google API PHP Client YouTube не работает

Я загрузил и установил бета-версию 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 работает. Если я установлю «частное», видео будет загружено как личное. Поэтому проблема не в том, чтобы прикрепить статус к видео. Это просто встраиваемая опция, которая, похоже, не работает.

Здесь у меня осталось три возможности:

  1. я делаю что-то не так
  2. Я неправильно истолковываю, что делает «встраиваемый» параметр
  3. Ошибка в клиентской библиотеке

Может ли кто-нибудь сказать мне, с чем я имею дело?

Спасибо!


person Greg Buretz    schedule 08.04.2015    source источник


Ответы (1)


Клиентская библиотека передает status.embeddable в API. В этом виноват API YouTube v3. Я наконец нашел тикет от 2013 года по этому поводу:

https://code.google.com/p/gdata-issues/issues/detail?id=4861

person Greg Buretz    schedule 09.04.2015