नीचे दिए गए कोड के उदाहरण में, JavaScript के लिए Google APIs क्लाइंट लाइब्रेरी का इस्तेमाल किया गया है. इस सैंपल को GitHub पर मौजूद, YouTube API के कोड सैंपल रिपॉज़िटरी के javascript
फ़ोल्डर से डाउनलोड किया जा सकता है.
यह कोड, उपयोगकर्ता से https://www.googleapis.com/auth/yt-analytics.readonly
स्कोप को ऐक्सेस करने की अनुमति मांगता है.
return gapi.auth2.getAuthInstance() .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"}) ...
आपके ऐप्लिकेशन को अन्य स्कोप का ऐक्सेस पाने के लिए भी अनुरोध करना पड़ सकता है. उदाहरण के लिए, YouTube Analytics API और YouTube Data API को कॉल करने वाले किसी ऐप्लिकेशन को, उपयोगकर्ताओं से उनके YouTube खातों का ऐक्सेस भी चाहिए हो सकता है. अनुमति देने की खास जानकारी में, उन स्कोप की पहचान की जाती है जिनका इस्तेमाल आम तौर पर YouTube Analytics API को कॉल करने वाले ऐप्लिकेशन में किया जाता है.
चैनल के रोज़ के आंकड़े पाना
इस उदाहरण में, YouTube Analytics API को कॉल करके, अनुमति देने वाले उपयोगकर्ता के चैनल के लिए, साल 2017 के कैलेंडर वर्ष के हिसाब से हर दिन के व्यू और अन्य मेट्रिक वापस पाने का अनुरोध किया गया है. इस उदाहरण में, Google APIs JavaScript क्लाइंट लाइब्रेरी का इस्तेमाल किया गया है.
अनुमति देने वाले क्रेडेंशियल सेट अप करना
इस सैंपल को पहली बार स्थानीय तौर पर चलाने से पहले, आपको अपने प्रोजेक्ट के लिए अनुमति देने वाले क्रेडेंशियल सेट अप करने होंगे:
- Google API Console में कोई प्रोजेक्ट बनाएं या चुनें.
- अपने प्रोजेक्ट के लिए YouTube Analytics API चालू करें.
- क्रेडेंशियल पेज पर सबसे ऊपर, OAuth सहमति स्क्रीन टैब चुनें. कोई ईमेल पता चुनें. अगर प्रॉडक्ट का नाम पहले से सेट नहीं है, तो उसे डालें. इसके बाद, सेव करें बटन पर क्लिक करें.
- क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं बटन पर क्लिक करें. इसके बाद, Oauth क्लाइंट आईडी चुनें.
- ऐप्लिकेशन टाइप के तौर पर, वेब ऐप्लिकेशन चुनें.
- 'अनुमति पा चुके JavaScript ऑरिजिन' फ़ील्ड में, वह यूआरएल डालें जिससे आपको कोड सैंपल दिखाना है. उदाहरण के लिए,
http://localhost:8000
याhttp://yourserver.example.com
का इस्तेमाल किया जा सकता है. रीडायरेक्ट करने के लिए मान्य यूआरआई फ़ील्ड को खाली छोड़ा जा सकता है. - क्रेडेंशियल बनाने की प्रोसेस पूरी करने के लिए, बनाएं बटन पर क्लिक करें.
- डायलॉग बॉक्स बंद करने से पहले, क्लाइंट आईडी कॉपी करें. आपको इसे कोड सैंपल में डालना होगा.
सैंपल की लोकल कॉपी बनाना
इसके बाद, सैंपल को किसी लोकल फ़ाइल में सेव करें. सैंपल में, यह लाइन ढूंढें और YOUR_CLIENT_ID की जगह वह क्लाइंट आईडी डालें जो आपको अनुमति देने वाले क्रेडेंशियल सेट अप करते समय मिला था.
gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});
कोड लागू करना
अब, सैंपल की जांच करने के लिए यह तरीका अपनाएं:
- वेब ब्राउज़र से लोकल फ़ाइल खोलें. इसके बाद, ब्राउज़र में डीबगिंग कंसोल खोलें. आपको एक ऐसा पेज दिखेगा जिस पर दो बटन दिखेंगे.
- उपयोगकर्ता को अनुमति देने की प्रोसेस शुरू करने के लिए, अनुमति दें और लोड करें बटन पर क्लिक करें. अगर आपने ऐप्लिकेशन को अपने चैनल का डेटा पाने की अनुमति दी है, तो आपको ब्राउज़र में कंसोल पर ये लाइनें दिखेंगी:
Sign-in successful GAPI client loaded for API
- अगर आपको ऊपर दी गई लाइनों के बजाय गड़बड़ी का कोई मैसेज दिखता है, तो पुष्टि करें कि आपने अपने प्रोजेक्ट के लिए सेट अप किए गए, अनुमति वाले रीडायरेक्ट यूआरआई से स्क्रिप्ट लोड की हो. साथ ही, आपने कोड में अपना क्लाइंट आईडी डाला हो, जैसा कि ऊपर बताया गया है.
- एपीआई को कॉल करने के लिए, execute बटन पर क्लिक करें. आपको ब्राउज़र में कंसोल पर
response
ऑब्जेक्ट प्रिंट होता हुआ दिखेगा. उस ऑब्जेक्ट में,result
प्रॉपर्टी, एपीआई डेटा वाले ऑब्जेक्ट से मैप होती है.
नमूना कोड
<script src="https://apis.google.com/js/api.js"></script> <script> function authenticate() { return gapi.auth2.getAuthInstance() .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"}) .then(function() { console.log("Sign-in successful"); }, function(err) { console.error("Error signing in", err); }); } function loadClient() { return gapi.client.load("https://youtubeanalytics.googleapis.com/$discovery/rest?version=v2") .then(function() { console.log("GAPI client loaded for API"); }, function(err) { console.error("Error loading GAPI client for API", err); }); } // Make sure the client is loaded and sign-in is complete before calling this method. function execute() { return gapi.client.youtubeAnalytics.reports.query({ "ids": "channel==MINE", "startDate": "2017-01-01", "endDate": "2017-12-31", "metrics": "views,estimatedMinutesWatched,averageViewDuration,averageViewPercentage,subscribersGained", "dimensions": "day", "sort": "day" }) .then(function(response) { // Handle the results here (response.result has the parsed body). console.log("Response", response); }, function(err) { console.error("Execute error", err); }); } gapi.load("client:auth2", function() { gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'}); }); </script> <button onclick="authenticate().then(loadClient)">authorize and load</button> <button onclick="execute()">execute</button>