Получить текущий URL-адрес потока из Youtube Live API

Есть ли способ в настоящее время получить URL-адрес прямой трансляции из API Youtube Live? Я могу получить идентификатор, но, похоже, нет возможности изменить его на URL-адрес.

Не то чтобы это имело значение, но я использую клиент YouTube для Python.


person Ben Hoff    schedule 03.07.2015    source источник
comment
Как вы получаете удостоверение личности? Я полагал, что вы сможете получить URL-адрес, просто добавив идентификатор к youtube.com/watch? v=, разве это не работает? Кроме того, что вы собираетесь делать с URL-адресом?   -  person not_a_bot    schedule 07.07.2015
comment
Я попробовал, и это вообще не сработало. Я использую официальную библиотеку YouTube. Почти слово в слово этот код: [ссылка]developers.google.com/ youtube/v3/live/docs/liveBroadcasts/список   -  person Ben Hoff    schedule 07.07.2015
comment
Какое удостоверение личности вы получили?   -  person not_a_bot    schedule 08.07.2015
comment
HWbNrHQHvKK6paclLp7WYw1424300727241016   -  person Ben Hoff    schedule 08.07.2015


Ответы (1)


[Отредактировано] Полагаю, вы получили stream ID вместо broadcast ID. Посмотрите пример кода, чтобы узнать, как получить broadcast ID вашего канала. .

...

напечатать %s (%s) % (трансляция[snippet][title], трансляция[id])

vs

...

напечатать %s (%s) % (поток[snippet][title], поток[id])

Хотя оба получают значение id, это два разных объекта, поэтому они должны давать вам два разных идентификатора. Добавление broadcast ID к URL-адресу, который я упомянул в комментариях, даст вам URL-адрес потока.

Обновление: если вы создали прямую трансляцию через свой канал YouTube, вы можете просто использовать список liveBroadcasts, чтобы получить id, который также будет идентификатором видео, который вы можете использовать для получения URL-адреса. Если вы создали liveStream с помощью insert(), вы также должны создать liveBroadcast с помощью insert() и привязать его к liveStream с помощью bind(), прежде чем вы сможете использовать список liveBroadcasts для получения идентификатора.

person not_a_bot    schedule 08.07.2015
comment
Дополнительную информацию о разнице между прямой трансляцией и прямой трансляцией см. здесь. - person not_a_bot; 08.07.2015
comment
Я ссылаюсь на неправильную документацию, на самом деле я использую API прямой трансляции, но идентификатор все еще не может быть подключен к URL-адресу и работать. - person Ben Hoff; 18.07.2015
comment
Я использовал проводник API для liveBroadcasts.list и смог успешно получить идентификатор своего потока. Я аутентифицировал свою учетную запись, указав snippet,id,contentDetails для части и true для своей. Затем я смог добавить этот идентификатор к youtube.com/watch?v=, чтобы получить URL-адрес видео для моего потока, когда он был в прямом эфире и когда он был завершен. - person not_a_bot; 20.07.2015
comment
Я думаю, что полученный вами идентификатор — это идентификатор потока, а не идентификатор трансляции, как я упоминал ранее. Вы создали liveStream с помощью insert()? Если это так, вы должны затем создать liveBroadcast с помощью insert(), а затем привязать его к вашему liveStream, чтобы вы могли вызвать liveBroadcast.list для получения идентификатора, который будет таким же, как идентификатор видео. Это можно использовать для получения вашего URL-адреса для потока. - person not_a_bot; 20.07.2015
comment
Эй, спасибо, чувак, я прокрутил в голове то, что ты говорил, но теперь, когда я все исправил, это полностью работает! Спасибо! - person Ben Hoff; 20.07.2015
comment
Нет проблем, рад, что смог помочь. Я обновлю свой ответ, чтобы он был понятен всем, кто столкнется с ним в будущем. - person not_a_bot; 20.07.2015