Статус прямой трансляции Youtube всегда завершен

Я использую OBS для потоковой передачи своего экрана на Youtube Live.

Пока моя трансляция идет в прямом эфире, я запрашиваю конечную точку liveBroadcasts/list, чтобы узнать, идет ли моя трансляция в прямом эфире.

part -> id, status

mine -> true

HTTP GET: GET https://www.googleapis.com/youtube/v3/liveBroadcasts?part=id%2Cstatus&mine=true&key={YOUR_API_KEY}

Словарь status возвращает что-то вроде этого, даже если мой поток в прямом эфире:

"status": {
    "lifeCycleStatus": "complete",
    "privacyStatus": "public",
    "recordingStatus": "recording"
}

Значение для lifeCycleStatus, которое я ищу, равно live, но API всегда возвращает complete

Я не хочу использовать конечную точку search.list из-за задержки.


person AntoineWattier    schedule 02.06.2016    source источник
comment
Я не в своем офисе, так что это предварительно: если вы ищете статус своей прямой трансляции по умолчанию, вам нужно ПОЛУЧИТЬ googleapis.com/youtube/v3/ Оттуда вы берете boundStreamId и передаете его GET googleapis.com/youtube/v3/liveStreams?part=status&id={YOURboundStreamId}   -  person Kostas Georgokitsos    schedule 02.06.2016
comment
Параметр широковещательного типа — это решение, которое я искал! Спасибо.   -  person AntoineWattier    schedule 02.06.2016


Ответы (1)


Статус трансляции можно запросить для конкретного видео, используя приведенный ниже запрос GET:

GET    https://www.googleapis.com/youtube/v3/videos?id=7OyvXCM63uQ&key=API_KEY&part=liveStreamingDetails,snippet

Ответ :

Snippet.liveBroadcastContent: "upcoming",
liveStreamingDetails: {
scheduledStartTime: "2016-06-19T18:47:04.000Z",
scheduledEndTime: "2016-06-19T19:17:04.000Z"
}
person Ali Azhar    schedule 19.06.2016