LiveBroadcasts: update

Bir yayını günceller. Örneğin, liveBroadcast kaynağının contentDetails nesnesinde tanımlanan yayın ayarlarını değiştirebilirsiniz.

Yaygın kullanım alanları

İstek

HTTP isteği

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

Yetkilendirme

Bu istek, aşağıdaki kapsamlardan en az biriyle yetkilendirme gerektirir. Kimlik doğrulama ve yetkilendirme hakkında daha fazla bilgi edinmek için OAuth 2.0 yetkilendirmesini uygulama başlıklı makaleyi inceleyin.

Kapsam
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

Parametreler

Aşağıdaki tabloda, bu sorgunun desteklediği parametreler listelenmiştir. Listelenen tüm parametreler sorgu parametreleridir.

Parametreler
Gerekli parametreler
part string
part parametresi bu işlemde iki amaca hizmet eder. Yazma işleminin ayarlayacağı özelliklerin yanı sıra API yanıtının içereceği özellikleri tanımlar.

Parametre değerine ekleyebileceğiniz part özellikleri id, snippet, contentDetails, monetizationDetails ve status'dir.

Bu yöntemin, parametre değerinin belirttiği tüm bölümlerde bulunan değiştirilebilir özelliklerin mevcut değerlerini geçersiz kılacağını unutmayın. Örneğin, bir yayının gizlilik durumu status bölümünde tanımlanır. Bu nedenle, isteğiniz gizli veya liste dışı bir yayını güncelliyorsa ve isteğin part parametre değeri status bölümünü içeriyorsa yayının gizlilik ayarı, istek gövdesinde belirtilen değere göre güncellenir. İstek gövdesinde bir değer belirtilmezse mevcut gizlilik ayarı kaldırılır ve yayın varsayılan gizlilik ayarına geri döner.
İsteğe bağlı parametreler
onBehalfOfContentOwner string
Bu parametre yalnızca doğru şekilde yetkilendirilmiş bir istekte kullanılabilir.
Not: Bu parametre yalnızca YouTube içerik iş ortakları için tasarlanmıştır.

onBehalfOfContentOwner parametresi, isteğin yetkilendirme kimlik bilgilerinin, parametre değerinde belirtilen içerik sahibi adına hareket eden bir YouTube İçerik Yönetim Sistemi (İYS) kullanıcısını tanımladığını gösterir. Bu parametre, birçok farklı YouTube kanalına sahip olan ve bunları yöneten YouTube içerik iş ortakları için tasarlanmıştır. Bu sayede içerik sahipleri, her kanal için ayrı ayrı kimlik doğrulama bilgileri girmek zorunda kalmadan tek bir kimlik doğrulama işlemiyle tüm video ve kanal verilerine erişebilir. Kullanıcının kimliğini doğruladığı içerik yönetim sistemi hesabı, belirtilen YouTube içerik sahibine bağlı olmalıdır.
onBehalfOfContentOwnerChannel string
Bu parametre yalnızca doğru şekilde yetkilendirilmiş bir istekte kullanılabilir.
Not: Bu parametre yalnızca YouTube içerik iş ortakları için tasarlanmıştır.

onBehalfOfContentOwnerChannel parametresi, bir videonun eklendiği kanalın YouTube kanal kimliğini belirtir. Bu parametre, bir istekte onBehalfOfContentOwner parametresi için değer belirtildiğinde gereklidir ve yalnızca bu parametreyle birlikte kullanılabilir. Ayrıca, istek, onBehalfOfContentOwner parametresinin belirttiği içerik sahibine bağlı bir İçerik Yönetim Sistemi hesabı kullanılarak yetkilendirilmelidir. Son olarak, onBehalfOfContentOwnerChannel parametre değerinin belirttiği kanal, onBehalfOfContentOwner parametresinin belirttiği içerik sahibine bağlı olmalıdır.

Bu parametre, birçok farklı YouTube kanalının sahibi olan ve bunları yöneten YouTube içerik iş ortakları için tasarlanmıştır. İçerik sahiplerinin bir kez kimlik doğrulaması yapmasına ve her bir kanal için kimlik doğrulama bilgileri sağlamak zorunda kalmadan, parametre değerinde belirtilen kanal adına işlem yapmasına olanak tanır.

İstek metni

İstek gövdesinde bir liveBroadcast kaynağı sağlayın. Bu kaynak için:

  • Şu özellikler için bir değer belirtmeniz gerekir:

    • id
    • snippet.scheduledStartTime
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs

  • Bu özellikler için değerler ayarlayabilirsiniz:

    • snippet.title
    • snippet.description
    • snippet.categoryId
    • snippet.scheduledStartTime
    • snippet.scheduledEndTime
    • status.privacyStatus
    • contentDetails.monitorStream.enableMonitorStream
    • contentDetails.monitorStream.broadcastStreamDelayMs
    • contentDetails.enableAutoStart
    • contentDetails.enableAutoStop
    • contentDetails.enableClosedCaptions
    • contentDetails.enableDvr
    • contentDetails.enableEmbed
    • contentDetails.recordFromStart
    • contentDetails.availabilityConfig
    • monetizationDetails.adsMonetizationStatus
    • monetizationDetails.cuepointSchedule.enabled
    • monetizationDetails.cuepointSchedule.pauseAdsUntil
    • monetizationDetails.cuepointSchedule.ytOptimizedCuepointConfig
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.scheduleStrategy
    • monetizationDetails.cuepointSchedule.creatorCuepointConfig.repeatIntervalSecs

    Bir güncelleme isteği gönderiyorsanız ve isteğinizde, zaten değeri olan bir özellik için değer belirtilmiyorsa özelliğin mevcut değeri silinir.

Yanıt

Başarılı olursa bu yöntem, yanıt gövdesinde bir liveBroadcast kaynağı döndürür.

Hatalar

Aşağıdaki tabloda, API'nin bu yönteme yapılan bir çağrıya yanıt olarak döndürebileceği hata mesajları belirtilmektedir. Daha fazla bilgi için hata mesajına bakın.

Hata türü Hata ayrıntısı Açıklama
backendError (503) backendError Bazı ayarlar henüz uygulanamıyor. Bunun nedeni, yayının yeni oluşturulmuş olması olabilir. Lütfen birkaç saniye sonra tekrar deneyin.
forbidden (403) closedCaptionsTypeModificationNotAllowed contentDetails.closedCaptionsType değeri yalnızca yayın created veya ready durumundayken değiştirilebilir.
forbidden (403) monetizationDetailsModificationNotAllowed YouTube İş Ortağı Programı'na (YPP) üye olmayan kanallar, videolar için monetizationDetails ayarını değiştiremez.
forbidden (403) pauseAdsUntilModificationNotAllowed pauseAdsUntil alanı değiştirilemez. Bu hata aşağıdaki nedenlerle ortaya çıkabilir:
  • monetizationDetails.cuepointSchedule.enabled alanı true olarak ayarlanmamış. Bu alan yalnızca YouTube Studio kullanılarak ayarlanabilir.
  • Yayın canlı değil.
forbidden (403) enableAutoStartModificationNotAllowed contentDetails.enableAutoStart değeri yalnızca yayın etkin olmadığında ve canlı yayın created veya ready durumundayken değiştirilebilir.
forbidden (403) enableClosedCaptionsModificationNotAllowed contentDetails.enableClosedCaptions değeri yalnızca yayın durumu created veya ready olduğunda değiştirilebilir.
forbidden (403) enableDvrModificationNotAllowed contentDetails.enableDvr değeri yalnızca yayın durumu created veya ready olduğunda değiştirilebilir.
forbidden (403) enableMonitorStreamModificationNotAllowed contentDetails.monitorStream.enableMonitorStream değeri yalnızca yayın durumu created veya ready olduğunda değiştirilebilir.
forbidden (403) recordFromStartModificationNotAllowed contentDetails.recordFromStart değeri yalnızca yayının durumu created veya ready olduğunda değiştirilebilir.
insufficientPermissions insufficientLivePermissions İstek, belirtilen canlı yayını güncelleme yetkisine sahip değil. Daha fazla bilgi için OAuth2 kimlik doğrulamasını uygulama başlıklı makaleyi inceleyin.
insufficientPermissions liveStreamingNotEnabled İsteği yetkilendiren kullanıcı, YouTube'da canlı video yayınlamayı etkinleştirmemiş. Kullanıcı, https://www.youtube.com/features adresinden daha fazla bilgi edinebilir.
invalidArgument missingAdsMonetizationStatus ads_monetization_status, ON veya OFF olarak belirtilmelidir.
invalidValue (400) invalidAutoStart liveBroadcast kaynağı, contentDetails.enableAutoStart özelliği için geçersiz bir değer içeriyordu. Sürekli yayınlar için enableAutoStart ayarını değiştiremezsiniz.
invalidValue (400) invalidAutoStop liveBroadcast kaynağı, contentDetails.enableAutoStop özelliği için geçersiz bir değer içeriyordu. Kalıcı bir yayın için enableAutoStop ayarını değiştiremezsiniz.
invalidValue (400) invalidDescription liveBroadcast kaynağı, snippet.description özelliği için geçerli bir değer belirtmedi. snippet.description en fazla 5.000 karakter içerebilir.
invalidValue (400) invalidEmbedSetting liveBroadcast kaynağı, contentDetails.enable_embed özelliği için geçersiz bir değer içeriyor. Bu yayını yerleştiremezsiniz.
invalidValue (400) invalidEnableClosedCaptions liveBroadcast kaynağında, contentDetails.enableClosedCaptions özelliğinin değeri contentDetails.closedCaptionType ayarının değeriyle uyumlu değil. Kaynağı yalnızca iki özellikten birini içerecek şekilde değiştirin ve isteği yeniden gönderin.
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast kaynağı, contentDetails.latencyPreference özelliği için geçersiz bir değer içeriyordu. Bu gecikme tercihiyle tüm ayarlar desteklenmez.
invalidValue (400) invalidEligibleForAdsMonetization eligible_for_ads_monetization salt okunur olduğundan monetization_details alanında belirtilemez.
invalidValue (400) invalidCuepointSchedule liveBroadcast kaynağı, monetizationDetails.cuepointSchedule özelliği için geçersiz bir değer içeriyor. Bu hata aşağıdaki nedenlerle ortaya çıkabilir:
  • ads_monetization_status, OFF ise cuepoint_schedule belirtilemez.
  • ads_monetization_status, ON ise cuepoint_schedule belirtilmelidir.
ads_monetization_status KAPALI ise cuepoint_schedule belirtilemez.
invalidValue (400) invalidEnabled liveBroadcast kaynağı, monetizationDetails.cuepointSchedule.enabled özelliği için geçersiz veya çakışan bir değer içeriyor. Bu hata aşağıdaki nedenlerle ortaya çıkabilir:
  • enabled, cuepoint_schedule alanında belirtilmelidir.
  • enabled yanlışsa pause_ads_until, yt_optimized_cuepoint_config veya creator_cuepoint_config belirtilemez.
  • enabled doğruysa yalnızca bir yt_optimized_cuepoint_config ve creator_cuepoint_config belirtilebilir.
invalidValue (400) invalidCreatorCuepointConfig Hem schedule_strategy hem de repeat_interval_secs belirtilmelidir.
invalidValue (400) invalidRepeatIntervalSecs repeat_interval_secs özellik değeri [360, 3600] aralığında olmalıdır.
invalidValue (400) invalidPauseAdsUntil liveBroadcast kaynağı, monetizationDetails.cuepointSchedule.pauseAdsUntil özelliği için geçersiz bir değer içeriyor. Bu hata aşağıdaki nedenlerle ortaya çıkabilir:
  • monetizationDetails.cuepointSchedule.pauseAdsUntil değeri ISO 8601 (YYYY-AA-GGTsa:dk:sn.sZ) biçiminde belirtilmemiş.
  • monetizationDetails.cuepointSchedule.pauseAdsUntil değeri gelecekte değil.
  • monetizationDetails.cuepointSchedule.pauseAdsUntil değeri, geçerli zamandan 10 dakikadan daha uzakta.
invalidValue (400) invalidPrivacyStatus liveBroadcast kaynağı geçerli bir gizlilik durumu belirtmedi. Geçerli privacyStatus değerlerini inceleyin.
invalidValue (400) invalidProjection liveBroadcast kaynağı, contentDetails.projection özelliği için geçersiz bir değer içeriyor. Kalıcı yayınların projeksiyonu 360 olarak ayarlanamaz.
invalidValue (400) invalidScheduledEndTime liveBroadcast kaynağı, snippet.scheduledEndTime özelliği için geçersiz bir değer içeriyor. Planlanan bitiş zamanı, planlanan başlangıç zamanından sonra olmalıdır.
invalidValue (400) invalidScheduledStartTime liveBroadcast kaynağı, snippet.scheduledStartTime özelliği için geçersiz bir değer içeriyor. Planlanan başlangıç zamanı gelecekte olmalıdır.
invalidValue (400) invalidTitle liveBroadcast kaynağı, snippet.title özelliği için geçerli bir değer belirtmedi. snippet.title, 1 ila 100 karakter uzunluğunda olmalıdır.
notFound (404) liveBroadcastNotFound liveBroadcast kaynağında belirtilen id özelliği bir yayın tanımlamadı.
preconditionFailed (412) videoNotEligibleForAdsMonetization Video, reklamlarla para kazanmaya uygun değildir. Bu durum, kanal para kazanmaya uygun değilse ortaya çıkabilir.
required (400) broadcastStreamDelayMsRequired liveBroadcast kaynağı, contentDetails.monitorStream.broadcastStreamDelayMs özelliğini belirtmedi.
required (400) enableMonitorStreamRequired liveBroadcast kaynağı, contentDetails.monitorStream.enableMonitorStream özelliğini belirtmedi.
required (400) idRequired liveBroadcast kaynağı, id özelliğini içermeli ve bu özelliğin değerini belirtmelidir.
required (400) scheduledEndTimeRequired liveBroadcast kaynağı, snippet.scheduledEndTime özelliğini belirtmedi.
required (400) scheduledStartTimeRequired liveBroadcast kaynağı, snippet.scheduledStartTime özelliğini belirtmedi.

Deneyin.

Bu API'yi çağırmak ve API isteğini ve yanıtını görmek için APIs Explorer simgesini kullanın.