JavaScript कोड के नमूने

नीचे दिया गया कोड सैंपल JavaScript के लिए Google API क्लाइंट लाइब्रेरी का इस्तेमाल करता है. आप GitHub पर YouTube एपीआई कोड सैंपल रिपॉज़िटरी के 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 के लिए इस्तेमाल होते हैं.

रोज़ के चैनल के आंकड़े फिर से पाएं

यह उदाहरण 2017 के कैलेंडर वर्ष के लिए, उपयोगकर्ता के चैनल के लिए दैनिक दृश्य और अन्य मेट्रिक को फिर से पाने के लिए YouTube Analytics API को कॉल करता है. नमूने में Google API JavaScript क्लाइंट लाइब्रेरी का इस्तेमाल किया गया है.

अनुमति देने के क्रेडेंशियल सेट अप करें

इस नमूने को स्थानीय तौर पर पहली बार चलाने से पहले, आपको अपने प्रोजेक्ट के लिए अनुमति देने वाले क्रेडेंशियल सेट अप करने होंगे:

  1. Google API (एपीआई) कंसोल में कोई प्रोजेक्ट बनाएं या चुनें.
  2. अपने प्रोजेक्ट के लिए, YouTube Analytics एपीआई चालू करें.
  3. क्रेडेंशियल पेज पर सबसे ऊपर, OAuth की सहमति वाली स्क्रीन टैब चुनें. कोई ईमेल पता चुनें, अगर पहले से सेट नहीं किया गया है तो किसी प्रॉडक्ट का नाम डालें और 'सेव करें' बटन पर क्लिक करें.
  4. क्रेडेंशियल पेज पर, क्रेडेंशियल बनाएं बटन पर क्लिक करें और OAuth क्लाइंट आईडी चुनें.
  5. ऐप्लिकेशन टाइप वेब ऐप्लिकेशन चुनें.
  6. अनुमति वाले JavaScript ऑरिजिन फ़ील्ड में, वह यूआरएल डालें जिससे आपको कोड सैंपल दिखेगा. उदाहरण के लिए, http://localhost:8000 या http://yourserver.example.com जैसा कुछ इस्तेमाल किया जा सकता है. आप अधिकृत रीडायरेक्ट यूआरआई फ़ील्ड को खाली छोड़ सकते हैं.
  7. अपने क्रेडेंशियल बनाने के लिए, बनाएं बटन पर क्लिक करें.
  8. डायलॉग बॉक्स बंद करने से पहले, क्लाइंट आईडी कॉपी करें, जिसे आपको कोड सैंपल में डालना होगा.

नमूने की एक स्थानीय कॉपी बनाएं

इसके बाद, नमूने को किसी लोकल फ़ाइल में सेव करें. सैंपल में, नीचे दी गई लाइन ढूंढें और YOUR_CLIENT_ID को उस क्लाइंट आईडी से बदलें जो आपको ऑथराइज़ेशन क्रेडेंशियल सेट अप करते समय मिला था.

gapi.auth2.init({client_id: 'YOUR_CLIENT_ID'});

कोड चलाएं

अब, आप वास्तव में नमूने का परीक्षण करने के लिए तैयार हैं:

  1. किसी वेब ब्राउज़र से लोकल फ़ाइल खोलें और ब्राउज़र में डीबग करने वाले कंसोल को खोलें. आपको दो बटन दिखाने वाला एक पेज दिखेगा.
  2. उपयोगकर्ता को अनुमति देने का तरीका लॉन्च करने के लिए, अनुमति दें और लोड करें बटन पर क्लिक करें. अगर आपने ऐप्लिकेशन को चैनल का डेटा पाने की अनुमति दी है, तो ब्राउज़र में कंसोल पर ये लाइनें प्रिंट होंगी:
    Sign-in successful
    GAPI client loaded for API
  3. अगर आपको ऊपर दी गई लाइनों के बजाय, गड़बड़ी का मैसेज दिखता है, तो पुष्टि करें कि आपने अनुमति वाले रीडायरेक्ट यूआरआई से स्क्रिप्ट लोड की है, जिसे आपने अपने प्रोजेक्ट के लिए सेट अप किया है. साथ ही, यह भी देखें कि आपने अपना क्लाइंट आईडी ऊपर बताए गए कोड में डाला है.
  4. एपीआई को कॉल करने के लिए, लागू करें बटन पर क्लिक करें. आपको ब्राउज़र में, कंसोल के लिए 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>