LiveBroadcasts: insert

API теперь поддерживает возможность помечать ваши прямые трансляции как «предназначенные для детей», а ресурс liveBroadcast теперь содержит свойство, которое определяет статус этой прямой трансляции «сделано для детей». Условия обслуживания API-сервисов YouTube и Правила для разработчиков также были обновлены 10 января 2020 года. Для получения дополнительной информации см. историю изменений API-сервиса YouTube Live Streaming и Условия использования API-сервисов YouTube .

Создает трансляцию.

Распространенные случаи использования

Запрос

HTTP-запрос

POST https://www.googleapis.com/youtube/v3/liveBroadcasts

Авторизация

Этот запрос требует авторизации хотя бы с одной из следующих областей ( подробнее об аутентификации и авторизации читайте здесь ).

Объем
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Параметры

В следующей таблице перечислены параметры, которые поддерживает этот запрос. Все перечисленные параметры являются параметрами запроса.

Параметры
Обязательные параметры
part string
Параметр part в этой операции служит двум целям. Он определяет свойства, которые будут установлены операцией записи, а также свойства, которые будут включены в ответ API.

Свойства part , которые вы можете включить в значение параметра, — это id , snippet , contentDetails и status .
Дополнительные параметры
onBehalfOfContentOwner string
Этот параметр можно использовать только в должным образом авторизованном запросе . Примечание. Этот параметр предназначен исключительно для контент-партнеров YouTube.

Параметр onBehalfOfContentOwner указывает, что учетные данные авторизации запроса идентифицируют пользователя YouTube CMS, который действует от имени владельца контента, указанного в значении параметра. Этот параметр предназначен для контент-партнеров YouTube, которые владеют и управляют множеством различных каналов YouTube. Это позволяет владельцам контента один раз пройти аутентификацию и получить доступ ко всем своим видео и данным каналов без необходимости предоставления учетных данных аутентификации для каждого отдельного канала. Учетная запись CMS, с помощью которой пользователь проходит аутентификацию, должна быть связана с указанным владельцем контента YouTube.
onBehalfOfContentOwnerChannel string
Этот параметр можно использовать только в должным образом авторизованном запросе . Этот параметр можно использовать только в должным образом авторизованном запросе . Примечание. Этот параметр предназначен исключительно для контент-партнеров YouTube.

Параметр onBehalfOfContentOwnerChannel указывает идентификатор канала YouTube, на который добавляется видео. Этот параметр является обязательным, если в запросе указано значение параметра onBehalfOfContentOwner , и его можно использовать только вместе с этим параметром. Кроме того, запрос должен быть авторизован с использованием учетной записи CMS, связанной с владельцем контента, указанным в параметре onBehalfOfContentOwner . Наконец, канал, указанный в значении параметра onBehalfOfContentOwnerChannel , должен быть связан с владельцем контента, указанным в параметре onBehalfOfContentOwner .

Этот параметр предназначен для контент-партнеров YouTube, которые владеют и управляют множеством различных каналов YouTube. Он позволяет владельцам контента один раз пройти аутентификацию и выполнять действия от имени канала, указанного в значении параметра, без необходимости предоставления учетных данных аутентификации для каждого отдельного канала.

Тело запроса

Укажите ресурс liveBroadcast в теле запроса. Для этого ресурса:

  • Вы должны указать значение для этих свойств:

    • snippet.title
    • snippet.scheduledStartTime
    • status.privacyStatus

  • Вы можете установить значения для этих свойств:

    • snippet.title
    • snippet.description
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • status.selfDeclaredMadeForKids
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart

    Примечание. В таблице свойств документированы все значения по умолчанию, установленные для свойств, перечисленных выше. Значения по умолчанию будут присвоены в любом из следующих случаев:
    • Вы не указываете значения для этих свойств.
    • Значение параметра part в вашем запросе не указывает часть, содержащую эти свойства.

Ответ

В случае успеха этот метод возвращает ресурс liveBroadcast в теле ответа.

Ошибки

В следующей таблице указаны сообщения об ошибках, которые API может вернуть в ответ на вызов этого метода. Более подробную информацию см. в документации по сообщениям об ошибках .

Тип ошибки Детализация ошибки Описание
insufficientPermissions insufficientLivePermissions Запрос не авторизован для создания прямой трансляции.
insufficientPermissions livePermissionBlocked Пользователь, авторизовавший запрос, в настоящее время не может транслировать видео в реальном времени на YouTube. Подробности, объясняющие, почему пользователь не может транслировать видео в реальном времени, можно найти в настройках канала пользователя по адресу https://www.youtube.com/features .
insufficientPermissions liveStreamingNotEnabled Пользователь, авторизовавший запрос, не имеет права транслировать видео в реальном времени на YouTube. Пользователь может найти дополнительную информацию по адресу https://www.youtube.com/features .
invalidValue (400) invalidAutoStart Ресурс liveBroadcast содержал недопустимое значение свойства contentDetails.enableAutoStart . Не все трансляции поддерживают эту настройку.
invalidValue (400) invalidAutoStop Ресурс liveBroadcast содержал недопустимое значение свойства contentDetails.enableAutoStop . Вы не можете изменить настройку enableAutoStop для постоянной трансляции.
invalidValue (400) invalidDescription Ресурс liveBroadcast не указал допустимое значение для свойства snippet.description . Значение свойства может содержать до 5000 символов.
invalidValue (400) invalidEmbedSetting Ресурс liveBroadcast содержал недопустимое значение свойства contentDetails.enable_embed . Вы не можете встроить эту трансляцию.
invalidValue (400) invalidLatencyPreferenceOptions Ресурс liveBroadcast содержал недопустимое значение свойства contentDetails.latencyPreference . Не все настройки поддерживаются с этим предпочтением задержки.
invalidValue (400) invalidPrivacyStatus Ресурс liveBroadcast содержал недопустимое значение свойства status.privacy_status .
invalidValue (400) invalidProjection Ресурс liveBroadcast содержал недопустимое значение свойства contentDetails.projection . Проекцию трансляции по умолчанию нельзя установить на 360 .
invalidValue (400) invalidScheduledEndTime Ресурс liveBroadcast содержал недопустимое значение свойства snippet.scheduledEndTime . Запланированное время окончания должно совпадать с запланированным временем начала.
invalidValue (400) invalidScheduledStartTime Ресурс liveBroadcast содержал недопустимое значение свойства snippet.scheduledStartTime . Запланированное время начала должно быть в будущем и достаточно близко к текущей дате, чтобы можно было надежно запланировать трансляцию на это время.
invalidValue (400) invalidTitle Ресурс liveBroadcast не указал допустимое значение для свойства snippet.title . Значение свойства должно иметь длину от 1 до 100 символов.
limitExceeded userBroadcastsExceedLimit Пользователь создал слишком много прямых или запланированных трансляций и должен остановить или удалить некоторые из них.
rateLimitExceeded userRequestsExceedRateLimit Пользователь отправил слишком много запросов за определенный период времени.
required (400) privacyStatusRequired Ресурс liveBroadcast должен указать статус конфиденциальности. См. действительные значения privacyStatus .
required (400) scheduledEndTimeRequired Ресурс liveBroadcast должен указать свойство snippet.scheduledEndTime .
required (400) scheduledStartTimeRequired Ресурс liveBroadcast должен указать свойство snippet.scheduledStartTime .
required (400) titleRequired Ресурс liveBroadcast должен указать свойство snippet.title .

Попробуй это!

Используйте APIs Explorer для вызова этого API и просмотра запроса и ответа API.