YouTube Reporting API - System-Managed Reports

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

ध्यान दें: API, YouTube 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 को एचटीटीपी जीईटी अनुरोध भेजें.

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

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

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

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

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

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

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

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

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

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

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

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

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

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