LiveBroadcasts: update

ब्रॉडकास्ट को अपडेट करता है. उदाहरण के लिए, liveBroadcast रिसॉर्स के contentDetails ऑब्जेक्ट में तय की गई ब्रॉडकास्ट सेटिंग में बदलाव किया जा सकता है.

इस्तेमाल के सामान्य उदाहरण

अनुरोध

एचटीटीपी अनुरोध

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

अनुमति देना

इस अनुरोध के लिए, इनमें से कम से कम एक स्कोप के साथ अनुमति की ज़रूरत है. पुष्टि करने और अनुमति देने के बारे में ज़्यादा जानने के लिए, OAuth 2.0 की अनुमति को लागू करना लेख पढ़ें.

दायरा
https://www.googleapis.com/auth/youtube
https://www.googleapis.com/auth/youtube.force-ssl

पैरामीटर

नीचे दी गई टेबल में ऐसे पैरामीटर दिए गए हैं जो इस क्वेरी के साथ काम करते हैं. सूची में दिए गए सभी पैरामीटर, क्वेरी पैरामीटर हैं.

पैरामीटर
ज़रूरी पैरामीटर
part string
part पैरामीटर, इस ऑपरेशन में दो काम करता है. यह उन प्रॉपर्टी की पहचान करता है जिन्हें लिखने की कार्रवाई से सेट किया जाएगा. साथ ही, यह उन प्रॉपर्टी की भी पहचान करता है जिन्हें एपीआई के जवाब में शामिल किया जाएगा.

पैरामीटर वैल्यू में part प्रॉपर्टी को शामिल किया जा सकता है. जैसे, id, snippet, contentDetails, monetizationDetails, और status.

ध्यान दें कि यह तरीका, पैरामीटर वैल्यू में बताए गए किसी भी हिस्से में मौजूद, बदली जा सकने वाली सभी प्रॉपर्टी की मौजूदा वैल्यू को बदल देगा. उदाहरण के लिए, किसी ब्रॉडकास्ट की निजता स्थिति status वाले हिस्से में दी जाती है. इसलिए, अगर आपका अनुरोध किसी निजी या'सब के लिए उपलब्ध नहीं' ब्रॉडकास्ट को अपडेट कर रहा है और अनुरोध के part पैरामीटर की वैल्यू में status हिस्सा शामिल है, तो ब्रॉडकास्ट की निजता सेटिंग को उस वैल्यू पर अपडेट कर दिया जाएगा जो अनुरोध के मुख्य हिस्से में दी गई है. अगर अनुरोध बॉडी में कोई वैल्यू नहीं दी गई है, तो मौजूदा निजता सेटिंग हटा दी जाएगी और ब्रॉडकास्ट की निजता सेटिंग, डिफ़ॉल्ट सेटिंग पर वापस सेट हो जाएगी.
वैकल्पिक पैरामीटर
onBehalfOfContentOwner string
इस पैरामीटर का इस्तेमाल सिर्फ़ अनुमति वाले अनुरोध में किया जा सकता है.
ध्यान दें: यह पैरामीटर सिर्फ़ YouTube के कॉन्टेंट पार्टनर के लिए है.

onBehalfOfContentOwner पैरामीटर से पता चलता है कि अनुरोध के लिए दिए गए क्रेडेंशियल, YouTube के कॉन्टेंट मैनेजमेंट सिस्टम (सीएमएस) के उस उपयोगकर्ता की पहचान करते हैं जो पैरामीटर की वैल्यू में बताए गए कॉन्टेंट के मालिक की ओर से काम कर रहा है. यह पैरामीटर उन YouTube कॉन्टेंट पार्टनर के लिए है जो कई अलग-अलग YouTube चैनलों के मालिक हैं और उन्हें मैनेज करते हैं. इसकी मदद से, कॉन्टेंट के मालिक एक बार पुष्टि करके अपने सभी वीडियो और चैनल का डेटा ऐक्सेस कर सकते हैं. इसके लिए, उन्हें हर चैनल के लिए पुष्टि करने के क्रेडेंशियल देने की ज़रूरत नहीं होती. उपयोगकर्ता जिस सीएमएस खाते से पुष्टि करता है वह YouTube कॉन्टेंट के मालिक से लिंक होना चाहिए.
onBehalfOfContentOwnerChannel string
इस पैरामीटर का इस्तेमाल, सिर्फ़ अनुमति वाले अनुरोध में ही किया जा सकता है.
ध्यान दें: यह पैरामीटर सिर्फ़ YouTube कॉन्टेंट पार्टनर के लिए है.

onBehalfOfContentOwnerChannel पैरामीटर से उस YouTube चैनल का आईडी पता चलता है जिस पर वीडियो जोड़ा जा रहा है. यह पैरामीटर तब ज़रूरी होता है, जब किसी अनुरोध में onBehalfOfContentOwner पैरामीटर के लिए कोई वैल्यू दी गई हो. साथ ही, इसका इस्तेमाल सिर्फ़ उस पैरामीटर के साथ किया जा सकता है. इसके अलावा, अनुरोध को ऐसे सीएमएस खाते का इस्तेमाल करके अनुमति दी जानी चाहिए जो onBehalfOfContentOwner पैरामीटर में बताए गए कॉन्टेंट के मालिक से जुड़ा हो. आखिर में, onBehalfOfContentOwnerChannel पैरामीटर की वैल्यू में बताए गए चैनल को, onBehalfOfContentOwner पैरामीटर में बताए गए कॉन्टेंट के मालिक से लिंक किया जाना चाहिए.

यह पैरामीटर, YouTube कॉन्टेंट पार्टनर के लिए है जिनके पास कई अलग-अलग YouTube चैनलों का मालिकाना हक है और जिन्हें मैनेज किया जाता है. इसकी मदद से, कॉन्टेंट के मालिक एक बार पुष्टि कर सकते हैं और पैरामीटर वैल्यू में बताए गए चैनल की ओर से कार्रवाइयां कर सकते हैं. इसके लिए, उन्हें हर चैनल के लिए पुष्टि करने के क्रेडेंशियल देने की ज़रूरत नहीं होती.

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में liveBroadcast रिसॉर्स दें. उस संसाधन के लिए:

  • आपको इन प्रॉपर्टी के लिए वैल्यू देनी होगी:

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

  • इन प्रॉपर्टी के लिए वैल्यू सेट की जा सकती हैं:

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

    अगर अपडेट का अनुरोध सबमिट किया जा रहा है और आपके अनुरोध में, किसी ऐसी प्रॉपर्टी की वैल्यू नहीं दी गई है जिसकी वैल्यू पहले से मौजूद है, तो प्रॉपर्टी की मौजूदा वैल्यू मिटा दी जाएगी.

जवाब

सही तरीके से काम करने पर, यह तरीका रिस्पॉन्स के मुख्य हिस्से में liveBroadcast संसाधन दिखाता है.

गड़बड़ियां

नीचे दी गई टेबल में, गड़बड़ी के उन मैसेज के बारे में बताया गया है जो इस तरीके को कॉल करने पर, एपीआई दिखा सकता है. ज़्यादा जानकारी के लिए, गड़बड़ी का मैसेज देखें.

गड़बड़ी का टाइप गड़बड़ी की जानकारी ब्यौरा
forbidden (403) closedCaptionsTypeModificationNotAllowed contentDetails.closedCaptionsType वैल्यू में सिर्फ़ तब बदलाव किया जा सकता है, जब ब्रॉडकास्ट created या ready स्टेटस में हो.
forbidden (403) enabledModificationNotAllowed enabled फ़ील्ड, रीड-ओनली है.
forbidden (403) scheduleStrategyModificationNotAllowed scheduleStrategy फ़ील्ड को सिर्फ़ पढ़ा जा सकता है.
forbidden (403) repeatIntervalSecsModificationNotAllowed repeatIntervalSecs फ़ील्ड, रीड-ओनली है.
forbidden (403) pauseAdsUntilModificationNotAllowed pauseAdsUntil फ़ील्ड में बदलाव नहीं किया जा सकता. यह गड़बड़ी इन वजहों से हो सकती है:
  • monetizationDetails.cuepointSchedule.enabled फ़ील्ड को true पर सेट नहीं किया गया है. इस फ़ील्ड को सिर्फ़ YouTube Studio का इस्तेमाल करके सेट किया जा सकता है.
  • ब्रॉडकास्ट लाइव नहीं है.
forbidden (403) enableAutoStartModificationNotAllowed contentDetails.enableAutoStart वैल्यू में सिर्फ़ तब बदलाव किया जा सकता है, जब स्ट्रीम बंद हो और ब्रॉडकास्ट created या ready स्टेटस में हो.
forbidden (403) enableClosedCaptionsModificationNotAllowed contentDetails.enableClosedCaptions की वैल्यू में सिर्फ़ तब बदलाव किया जा सकता है, जब ब्रॉडकास्ट की स्थिति created या ready हो.
forbidden (403) enableDvrModificationNotAllowed contentDetails.enableDvr वैल्यू में सिर्फ़ तब बदलाव किया जा सकता है, जब ब्रॉडकास्ट का स्टेटस created या ready हो.
forbidden (403) enableMonitorStreamModificationNotAllowed contentDetails.monitorStream.enableMonitorStream वैल्यू में सिर्फ़ तब बदलाव किया जा सकता है, जब ब्रॉडकास्ट का स्टेटस created या ready हो.
forbidden (403) recordFromStartModificationNotAllowed contentDetails.recordFromStart वैल्यू में सिर्फ़ तब बदलाव किया जा सकता है, जब ब्रॉडकास्ट का स्टेटस created या ready हो.
insufficientPermissions insufficientLivePermissions इस अनुरोध को, बताए गए लाइव ब्रॉडकास्ट को अपडेट करने की अनुमति नहीं है. ज़्यादा जानकारी के लिए, OAuth2 की पुष्टि करने की सुविधा को लागू करना लेख पढ़ें.
insufficientPermissions liveStreamingNotEnabled जिस उपयोगकर्ता ने अनुरोध को अनुमति दी है उसके पास YouTube पर लाइव वीडियो स्ट्रीम करने की सुविधा नहीं है. उपयोगकर्ता को ज़्यादा जानकारी https://www.youtube.com/features पर मिल सकती है.
invalidValue (400) invalidAutoStart liveBroadcast रिसॉर्स में, contentDetails.enableAutoStart प्रॉपर्टी की अमान्य वैल्यू दी गई थी. हमेशा चलने वाले ब्रॉडकास्ट के लिए, enableAutoStart सेटिंग में बदलाव नहीं किया जा सकता.
invalidValue (400) invalidAutoStop liveBroadcast रिसॉर्स में, contentDetails.enableAutoStop प्रॉपर्टी की अमान्य वैल्यू दी गई थी. आपके पास हमेशा चलने वाले ब्रॉडकास्ट के लिए, enableAutoStop सेटिंग में बदलाव करने का विकल्प नहीं है.
invalidValue (400) invalidDescription liveBroadcast संसाधन में snippet.description प्रॉपर्टी के लिए मान्य मान नहीं बताया गया था. snippet.description में ज़्यादा से ज़्यादा 5,000 वर्ण हो सकते हैं.
invalidValue (400) invalidEmbedSetting liveBroadcast रिसॉर्स में contentDetails.enable_embed प्रॉपर्टी के लिए अमान्य वैल्यू दी गई है. इस ब्रॉडकास्ट को एम्बेड नहीं किया जा सकता.
invalidValue (400) invalidEnableClosedCaptions liveBroadcast रिसॉर्स में, contentDetails.enableClosedCaptions प्रॉपर्टी की वैल्यू, contentDetails.closedCaptionType सेटिंग की वैल्यू के साथ काम नहीं करती. रिसॉर्स में बदलाव करके, सिर्फ़ दो में से किसी एक प्रॉपर्टी को शामिल करें. इसके बाद, अनुरोध को फिर से सबमिट करें.
invalidValue (400) invalidLatencyPreferenceOptions liveBroadcast रिसॉर्स में, contentDetails.latencyPreference प्रॉपर्टी की अमान्य वैल्यू दी गई थी. इंतज़ार का समय तय करने की इस सेटिंग के साथ, सभी सेटिंग काम नहीं करती हैं.
invalidValue (400) invalidPauseAdsUntil liveBroadcast संसाधन में monetizationDetails.cuepointSchedule.pauseAdsUntil प्रॉपर्टी के लिए एक अमान्य वैल्यू शामिल है. यह गड़बड़ी इन वजहों से हो सकती है:
  • monetizationDetails.cuepointSchedule.pauseAdsUntil वैल्यू, ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) फ़ॉर्मैट में नहीं दी गई है.
  • monetizationDetails.cuepointSchedule.pauseAdsUntil की वैल्यू, आने वाले समय की नहीं है.
  • monetizationDetails.cuepointSchedule.pauseAdsUntil की वैल्यू, मौजूदा समय से 10 मिनट से ज़्यादा दूर है.
invalidValue (400) invalidPrivacyStatus liveBroadcast संसाधन ने मान्य निजता स्थिति के बारे में नहीं बताया था. privacyStatus की मान्य वैल्यू देखें.
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 प्रॉपर्टी के लिए मान्य मान नहीं बताया गया था. snippet.title, 1 से 100 वर्णों का होना चाहिए.
notFound (404) liveBroadcastNotFound liveBroadcast रिसॉर्स में बताई गई id प्रॉपर्टी से किसी ब्रॉडकास्ट की पहचान नहीं की गई.
required (400) broadcastStreamDelayMsRequired liveBroadcast संसाधन में contentDetails.monitorStream.broadcastStreamDelayMs प्रॉपर्टी के बारे में जानकारी नहीं दी गई थी.
required (400) enableMonitorStreamRequired liveBroadcast संसाधन में contentDetails.monitorStream.enableMonitorStream प्रॉपर्टी के बारे में जानकारी नहीं दी गई थी.
required (400) idRequired liveBroadcast रिसॉर्स में id प्रॉपर्टी की वैल्यू शामिल होनी चाहिए.
required (400) scheduledEndTimeRequired liveBroadcast रिसॉर्स में snippet.scheduledEndTime प्रॉपर्टी की जानकारी नहीं दी गई है.
required (400) scheduledStartTimeRequired liveBroadcast रिसॉर्स में snippet.scheduledStartTime प्रॉपर्टी की जानकारी नहीं दी गई है.

इसे आज़माएं!

इस एपीआई को कॉल करने और एपीआई अनुरोध और रिस्पॉन्स देखने के लिए, APIs Explorer का इस्तेमाल करें.