Esempi di codice JavaScript

L'esempio di codice riportato di seguito utilizza la libreria client delle API di Google per JavaScript. Puoi scaricare questo esempio dalla cartella javascript del repository di esempi di codice delle API di YouTube su GitHub.

Il codice richiede l'autorizzazione dell'utente per accedere all'ambito https://www.googleapis.com/auth/yt-analytics.readonly.

return gapi.auth2.getAuthInstance()     .signIn({scope: "https://www.googleapis.com/auth/yt-analytics.readonly"})     ...

La tua applicazione potrebbe anche dover richiedere l'accesso ad altri ambiti. Ad esempio, un'applicazione che chiama l'API YouTube Analytics e l'API YouTube Data potrebbe richiedere agli utenti di concedere l'accesso anche ai loro account YouTube. La panoramica dell'autorizzazione identifica gli ambiti generalmente utilizzati nelle applicazioni che chiamano l'API YouTube Analytics.

Recuperare le statistiche giornaliere del canale

Questo esempio chiama l'API YouTube Analytics per recuperare le visualizzazioni giornaliere e altre metriche per il canale dell'utente che autorizza per l'anno solare 2017. L'esempio utilizza la libreria client JavaScript delle API di Google.

Configura le credenziali di autorizzazione

Prima di eseguire questo esempio localmente per la prima volta, devi configurare le credenziali di autorizzazione per il tuo progetto:

  1. Crea o seleziona un progetto nella console API di Google.
  2. Attiva l'API YouTube Analytics per il tuo progetto.
  3. Nella parte superiore della pagina Credenziali, seleziona la scheda Schermata di consenso OAuth. Seleziona un indirizzo email, inserisci un nome prodotto se non è già impostato e fai clic sul pulsante Salva.
  4. Nella pagina Credenziali, fai clic sul pulsante Crea credenziali e seleziona ID client OAuth.
  5. Seleziona il tipo di applicazione Applicazione web.
  6. Nel campo Origini JavaScript autorizzate, inserisci l'URL da cui verrà pubblicato l'esempio di codice. Ad esempio, potresti utilizzare http://localhost:8000 o http://yourserver.example.com. Puoi lasciare vuoto il campo URI di reindirizzamento autorizzati.
  7. Fai clic sul pulsante Crea per completare la creazione delle credenziali.
  8. Prima di chiudere la finestra di dialogo, copia l'ID client, che dovrai inserire nell'esempio di codice.

Creare una copia locale del campione

Quindi, salva il campione in un file locale. Nell'esempio, trova la seguente riga e sostituisci YOUR_CLIENT_ID con l'ID client ottenuto durante la configurazione delle credenziali di autorizzazione.

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

Esegui il codice

Ora puoi testare il campione:

  1. Apri il file locale da un browser web e apri la console di debug nel browser. Dovresti visualizzare una pagina con due pulsanti.
  2. Fai clic sul pulsante Autorizza e carica per avviare il flusso di autorizzazione dell'utente. Se autorizzi l'app a recuperare i dati del tuo canale, nella console del browser dovresti visualizzare le seguenti righe:
     Sign-in successful GAPI client loaded for API
  3. Se visualizzi un messaggio di errore anziché le righe riportate sopra, verifica di caricare lo script dall'URI di reindirizzamento autorizzato che hai configurato per il tuo progetto e di aver inserito l'ID client nel codice come descritto sopra.
  4. Fai clic sul pulsante Esegui per chiamare l'API. Dovresti vedere un oggetto response stampato nella console del browser. In questo oggetto, la proprietà result viene mappata a un oggetto che contiene i dati dell'API.

Codice di esempio

<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>