Получить текущее имя liveBroadcast для потока Stream Now моего канала через API потоковой передачи YouTube Live

Мы начинаем использовать функцию YouTube Stream Now и заметили, что, хотя эта функция имеет статический URL-адрес YouTube (например, YouTube.com/channel-name/live), идентификатор трансляции / видео изменяется всякий раз, когда заканчивается новый поток и появляется новый. запущен.

Есть ли способ через API YouTube узнать текущий идентификатор liveBroadcast / видео для потоковой передачи моего канала с помощью функции Stream Now?

И пока мы находимся в этом, есть ли способ, которым это название трансляции в Stream Now не меняется и всегда остается неизменным? Это позволит повторно использовать один и тот же код встраивания для всех паров.

Спасибо!


person Guillermo    schedule 08.09.2019    source источник


Ответы (1)


Вы можете получить трансляцию "Stream Now", установив для broadcastType значение persistent в своем запросе на liveBroadcast / list.

GET https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Csnippet%2C%20status%2C%20contentDetails&broadcastStatus=all&broadcastType=persistent&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

Но после окончания потока "Stream Now" трансляция преобразуется в видео, и вам необходимо создать новую прямую трансляцию. Это не задокументировано, но я понял, что вы можете сделать это, вызвав liveBroadcast / insert только с параметром "isDefaultBroadcast" со значением true.

POST https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Csnippet%2C%20status%2C%20contentDetails&key=[YOUR_API_KEY] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json

{
  "snippet": {
    "isDefaultBroadcast": true
  }
}

Надеюсь, я помогу вам, мне потребовалось много времени, чтобы найти это из-за плохой документации Youtube Live API ...

person Marin Leonard    schedule 14.10.2019