YouTube Reporting API - Get Bulk Data Reports

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

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

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

रिपोर्ट वापस लाई जा रही हैं

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

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

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 पर एचटीटीपी जीईटी अनुरोध भेजें.

प्रोसेसिंग रिपोर्ट

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

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

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

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

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

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

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

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

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

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

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

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

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