YouTube Reporting API - Get Bulk Data Reports

YouTube, सिस्टम से मैनेज किए जाने वाले विज्ञापन से होने वाले रेवेन्यू की रिपोर्ट का एक सेट अपने-आप जनरेट करता है. यह सेट उन कॉन्टेंट के मालिकों के लिए जनरेट होता है जिनके पास Creator Studio में इन रिपोर्ट का ऐक्सेस होता है. इन रिपोर्ट को इस तरह से डिज़ाइन किया गया है कि वे उस डेटा को प्रोग्राम के ज़रिए ऐक्सेस कर सकें जो YouTube Creator Studio के रिपोर्ट मेन्यू में जाकर, मैन्युअल तरीके से डाउनलोड की जा सकने वाली रिपोर्ट में भी उपलब्ध होता है.

ध्यान दें: एपीआई, Creator Studio के मुकाबले रिपोर्ट के अलग सेट का ऐक्सेस देता है. हालांकि, इन रिपोर्ट में एक जैसा डेटा होता है. एपीआई रिपोर्ट में अलग-अलग फ़ील्ड हो सकते हैं. साथ ही, इनमें Creator Studio की रिपोर्ट के मुकाबले अलग-अलग फ़ील्ड के नाम भी इस्तेमाल किए जा सकते हैं.

YouTube, सिस्टम से मैनेज की जाने वाली रिपोर्ट अपने-आप जनरेट करता है. इसलिए, इन रिपोर्ट को वापस पाने की प्रोसेस, एपीआई की मदद से उपलब्ध YouTube Analytics की बड़ी डेटा रिपोर्ट से अलग होती है.

रिपोर्ट वापस लाना

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

पहला चरण: अनुमति के क्रेडेंशियल वापस पाना

YouTube Reporting API के सभी अनुरोधों को स्वीकार किया जाना चाहिए. अनुमति से जुड़ी गाइड में, ऑथराइज़ेशन टोकन पाने के लिए OAuth 2.0 प्रोटोकॉल का इस्तेमाल करने का तरीका बताया गया है.

YouTube Reporting API के अनुरोध, अनुमति के इन दायरों का इस्तेमाल करते हैं:

स्कोप
https://www.googleapis.com/auth/yt-analytics.readonly अपने YouTube कॉन्टेंट के लिए YouTube Analytics की रिपोर्ट देखें. इस स्कोप से, उपयोगकर्ता गतिविधि की मेट्रिक का ऐक्सेस मिलता है. जैसे, व्यू की संख्या और रेटिंग की संख्या.
https://www.googleapis.com/auth/yt-analytics-monetary.readonly अपने YouTube वीडियो से होने वाली आय की जानकारी देने वाली YouTube Analytics रिपोर्ट देखें. इस स्कोप में, उपयोगकर्ता गतिविधि की मेट्रिक के साथ-साथ, अनुमानित रेवेन्यू और विज्ञापन की परफ़ॉर्मेंस की मेट्रिक का ऐक्सेस मिलता है.

दूसरा चरण: अपनी पसंद की रिपोर्ट के लिए जॉब आईडी पाना

सिस्टम से मैनेज की जाने वाली जॉब की सूची पाने के लिए, jobs.list तरीके को कॉल करें. includeSystemManaged पैरामीटर को true पर सेट करें.

दिखाए गए हर Job संसाधन में मौजूद reportTypeId प्रॉपर्टी से, उस जॉब से जुड़ी सिस्टम मैनेज की जाने वाली रिपोर्ट के टाइप की पहचान होती है. आपके ऐप्लिकेशन को अगले चरण में, उसी संसाधन से id प्रॉपर्टी की वैल्यू की ज़रूरत होगी.

रिपोर्ट दस्तावेज़ में, उपलब्ध रिपोर्ट, उनके रिपोर्ट टाइप आईडी, और उनमें मौजूद फ़ील्ड की सूची होती है. इस्तेमाल की जा सकने वाली रिपोर्ट टाइप की सूची देखने के लिए, reportTypes.list तरीके का भी इस्तेमाल किया जा सकता है.

तीसरा चरण: रिपोर्ट के डाउनलोड यूआरएल को वापस पाना

नौकरी के लिए बनाई गई रिपोर्ट की सूची देखने के लिए, jobs.reports.list तरीके को कॉल करें. अनुरोध में, jobId पैरामीटर को उस रिपोर्ट के जॉब आईडी पर सेट करें जिसे आपको वापस लाना है.

इनमें से किसी एक या सभी पैरामीटर का इस्तेमाल करके, रिपोर्ट की सूची को फ़िल्टर किया जा सकता है:

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

  • startTimeBefore पैरामीटर का इस्तेमाल करके यह बताएं कि एपीआई के जवाब में सिर्फ़ ऐसी रिपोर्ट शामिल होनी चाहिए जिनमें सबसे पुराना डेटा, तय की गई तारीख से पहले का हो. createdAfter पैरामीटर, रिपोर्ट बनाने के समय से जुड़ा होता है, जबकि यह तारीख रिपोर्ट में मौजूद डेटा से जुड़ी होती है.

  • startTimeAtOrAfter पैरामीटर का इस्तेमाल करके यह बताएं कि एपीआई के जवाब में सिर्फ़ ऐसी रिपोर्ट शामिल होनी चाहिए जिनमें सबसे पुराना डेटा, तय की गई तारीख को या उसके बाद का हो. startTimeBefore पैरामीटर की तरह, इस पैरामीटर की वैल्यू रिपोर्ट में मौजूद डेटा से जुड़ी होती है, न कि रिपोर्ट बनाने के समय से.

एपीआई के जवाब में, उस नौकरी के लिए Report संसाधनों की सूची शामिल होती है. हर संसाधन, किसी खास अवधि का डेटा दिखाने वाली रिपोर्ट से जुड़ा होता है.

  • रिसॉर्स की startTime और endTime प्रॉपर्टी से उस समयावधि की जानकारी मिलती है जिसमें रिपोर्ट का डेटा शामिल होता है.
  • रिसॉर्स की downloadUrl प्रॉपर्टी से उस यूआरएल की पहचान होती है जिससे रिपोर्ट फ़ेच की जा सकती है.
  • रिसॉर्स की createTime प्रॉपर्टी से पता चलता है कि रिपोर्ट कब जनरेट की गई. आपके ऐप्लिकेशन को यह वैल्यू सेव करनी चाहिए और इसका इस्तेमाल यह तय करने के लिए करना चाहिए कि पहले डाउनलोड की गई रिपोर्ट में बदलाव हुए हैं या नहीं.

चौथा चरण: रिपोर्ट डाउनलोड करना

रिपोर्ट वापस पाने के लिए, चौथे चरण में मिले downloadUrl पर एचटीटीपी GET अनुरोध भेजें.

रिपोर्ट प्रोसेस करना

सबसे सही तरीके

YouTube Reporting API का इस्तेमाल करने वाले ऐप्लिकेशन को इन तरीकों का हमेशा पालन करना चाहिए:

  • रिपोर्ट के कॉलम का क्रम तय करने के लिए, रिपोर्ट की हेडर लाइन का इस्तेमाल करें. उदाहरण के लिए, यह न मानें कि व्यू, रिपोर्ट में दिखने वाली पहली मेट्रिक होगी, सिर्फ़ इसलिए कि यह रिपोर्ट के ब्यौरे में दी गई पहली मेट्रिक है. इसके बजाय, रिपोर्ट की हेडर लाइन का इस्तेमाल करके यह पता लगाएं कि उस डेटा को किस कॉलम में शामिल किया गया है.

  • डाउनलोड की गई रिपोर्ट का रिकॉर्ड रखें, ताकि एक ही रिपोर्ट को बार-बार प्रोसेस न करना पड़े. यहां दिए गए कुछ तरीकों से ऐसा किया जा सकता है.

    • reports.list तरीके को कॉल करते समय, createdAfter पैरामीटर का इस्तेमाल करके, सिर्फ़ किसी खास तारीख के बाद बनाई गई रिपोर्ट वापस पाएं. (रिपोर्ट को पहली बार फिर से पाने के लिए, createdAfter पैरामीटर को छोड़ दें.)

      जब भी रिपोर्ट वापस लाई जाती हैं और उन्हें प्रोसेस किया जाता है, तो उनमें से सबसे नई रिपोर्ट बनाने की तारीख और समय का टाइमस्टैंप सेव करें. इसके बाद, reports.list तरीके के हर कॉल पर createdAfter पैरामीटर की वैल्यू अपडेट करें. इससे यह पक्का किया जा सकेगा कि हर बार एपीआई को कॉल करने पर, सिर्फ़ नई रिपोर्ट ही वापस मिल रही हैं. इनमें, बैकफ़िल किए गए डेटा वाली नई रिपोर्ट भी शामिल हैं.

      किसी रिपोर्ट को वापस पाने से पहले, यह भी पक्का कर लें कि रिपोर्ट का आईडी आपके डेटाबेस में पहले से मौजूद न हो.

    • डाउनलोड और प्रोसेस की गई हर रिपोर्ट का आईडी सेव करें. आपके पास अतिरिक्त जानकारी को भी सेव करने का विकल्प होता है. जैसे, हर रिपोर्ट जनरेट होने की तारीख और समय या रिपोर्ट के startTime और endTime. इनसे, उस अवधि की पहचान होती है जिसके लिए रिपोर्ट में डेटा मौजूद होता है. YouTube Analytics के लिए ज़्यादा डेटा पाने वाली रिपोर्ट के लिए, हर जॉब में कई रिपोर्ट हो सकती हैं. इसकी वजह यह है कि हर रिपोर्ट में 24 घंटे की अवधि का डेटा होता है. सिस्टम से मैनेज की जाने वाली उन जॉब के लिए, जिनमें लंबी समयावधि शामिल होती है, कम रिपोर्ट होंगी.

      रिपोर्ट आईडी का इस्तेमाल करके, उन रिपोर्ट की पहचान करें जिन्हें आपको अब भी डाउनलोड और इंपोर्ट करना है. हालांकि, अगर दो नई रिपोर्ट में startTime और endTime प्रॉपर्टी की वैल्यू एक जैसी है, तो सिर्फ़ नई createTime वैल्यू वाली रिपोर्ट इंपोर्ट करें.

रिपोर्ट की विशेषताएं

एपीआई रिपोर्ट, वर्शन वाली .csv (कॉमा लगाकर अलग की गई वैल्यू) फ़ाइलें होती हैं. इनमें ये विशेषताएं होती हैं:

  • हर रिपोर्ट में, रिपोर्ट शुरू होने की तारीख को पैसिफ़िक टाइम के हिसाब से रात 12:00 बजे से लेकर रिपोर्ट खत्म होने की तारीख को पैसिफ़िक टाइम के हिसाब से रात 11:59 बजे तक की अवधि का डेटा होता है.

  • रिपोर्ट का डेटा क्रम से नहीं लगाया गया है.