LiveBroadcasts: insert

API теперь поддерживает возможность помечать ваши прямые трансляции как «сделано для детей», а ресурс liveBroadcast теперь содержит свойство, определяющее статус «сделано для детей» для этой прямой трансляции. 10 января 2020 г. также были обновлены Условия использования API-сервисов YouTube и Политики для разработчиков. Дополнительную информацию см. в истории изменений 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 указывает, что учетные данные авторизации запроса идентифицируют пользователя CMS YouTube, который действует от имени владельца контента, указанного в значении параметра. Этот параметр предназначен для контент-партнеров 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.