Richieste API di esempio

Questa pagina mostra le richieste di esempio all'API di dati di YouTube. Puoi utilizzare l'API YouTube Data per recuperare e manipolare risorse di YouTube come video, canali e playlist. Ogni campione si collega a Explorer API di Google e lo completa in modo che tu possa eseguire l'esempio e vedere la risposta.

Per saperne di più sul caricamento di contenuti mediante l'API di dati di YouTube, consulta la pagina Caricamenti ripristinabili.

Panoramica

Per maggiore chiarezza, gli esempi in questa pagina mostrano gli elementi distintivi di ogni richiesta e abbreviano l'URL di base per l'host che elabora le richieste dell'API di dati (https://www.googleapis.com/youtube/v3). Per effettuare la richiesta al di fuori del contesto degli esempi, devi includere l'URL completo.

Ad esempio, ecco una richiesta di esempio così come appare in questa pagina:

GET {base-URL}/channels?part=contentDetails
                       &mine=true

L'URL completo per questa richiesta è:

GET https://www.googleapis.com/youtube/v3/channels?part=contentDetails
                                                  &mine=true

Molte delle richieste recuperano i dati accessibili soltanto al proprietario del canale YouTube, ad esempio l'elenco degli iscritti. Queste richieste richiedono al proprietario del canale di concedere al programma di esplorazione delle API di Google il diritto di effettuare richieste per l'API di dati di YouTube per loro conto. Per informazioni dettagliate su come autorizzare l'accesso ai dati privati del canale, consulta Implementazione dell'autenticazione OAuth 2.0. Dopo aver eseguito il collegamento all'Explorer API, fai clic sul pulsante Autorizza le richieste utilizzando OAuth 2.0. Questo passaggio autorizza l'Explorer API a effettuare richieste per conto del proprietario. Seleziona anche l'ambito dell'autorizzazione, che specifica i tipi di richieste che Explorer API può eseguire.

La risposta a ogni richiesta è la rappresentazione JSON di una risorsa di YouTube. Il parametro part nella richiesta specifica quali parti della risorsa sono incluse nella risposta. Il parametro identifica una o più proprietà di risorse di primo livello (non nidificate) che devono essere incluse nella risposta. Ad esempio, alcune parti di una risorsa video sono:

  • snippet
  • Dettagli contenuti
  • player
  • statistica
  • stato

Tutte queste parti sono oggetti che contengono proprietà nidificate e puoi considerarli come gruppi di campi di metadati che il server API potrebbe (o non dovrebbe) recuperare. Pertanto, il parametro part richiede che tu selezioni i componenti della risorsa effettivamente utilizzati dalla tua applicazione.Per saperne di più, consulta la Guida introduttiva all'API YouTube Data.

Recuperare informazioni sul canale

Questa richiesta utilizza il metodo channels.list per recuperare i dettagli relativi ai canali che appartengono all'utente autenticato.

GET {base_URL}/channels?part=contentDetails
                       &mine=true

La risposta a questa richiesta include l'ID canale e contentDetails per il canale dell'utente autenticato. I contentDetails includono le diverse playlist generate dal sistema associate al canale. Molte delle richieste successive richiedono l'ID canale o uno degli ID playlist, quindi è importante registrarli.

{
  "id": {CHANNEL_ID},
  "kind": "youtube#channel",
  "etag": etag,
  "contentDetails": {
    "relatedPlaylists": {
      "likes": {LIKES_PLAYLIST_ID},
      "favorites": {FAVORITES_PLAYLIST_ID},
      "uploads": {UPLOADS_PLAYLIST_ID},
      "watchHistory": {WATCHHISTORY_PLAYLIST_ID},
      "watchLater": {WATCHLATER_PLAYLIST_ID}
    },
    "googlePlusUserId": string
  },
}

Video caricati e playlist generate dal sistema

YouTube aggiunge tutti i video caricati a una playlist associata al canale. Per ottenere un elenco dei video caricati, esegui una query sulla playlist "Video caricati" restituita nella risposta di cui sopra per le informazioni del canale, utilizzando il metodo playlistItems.list per recuperare i video al suo interno.

Prima di eseguire la seguente richiesta di esempio in Explorer API di Google, sostituisci {UPLOADS_PLAYLIST_ID} con l'ID playlist della richiesta precedente.

GET {base_URL}/playlistItems?part=contentDetails
                            &playlistId={UPLOADS_PLAYLIST_ID}

Tieni presente che il valore "id" di ogni elemento restituito è l'ID playlistItem. L'ID video dell'elemento della playlist è videoId nella parte contentDetails.

Puoi recuperare i preferiti, i Mi piace, la cronologia delle visualizzazioni o gli elenchi Guarda più tardi dell'utente utilizzando la richiesta precedente sostituendo l'ID playlist corrispondente dalla risposta delle informazioni del canale.

Playlist create dagli utenti

Questa richiesta utilizza il metodo playlists.list per recuperare le playlist associate al canale autenticato. Tieni presente che questa richiesta non recupera le playlist generate dal sistema incluse nelle informazioni del canale (caricamenti, cronologia delle visualizzazioni e così via). Recupera solo le playlist create dagli utenti.

GET {base_URL}/playlists?part=snippet
                        &mine=true

Quando disponi di un ID playlist, puoi recuperare gli elementi dalla playlist corrispondente tramite la richiesta mostrata nella sezione precedente.

Puoi richiedere informazioni sulle playlist pubbliche di un canale senza autenticazione. Quando invii una richiesta non autenticata, devi includere l'argomento key che specifica la chiave API univoca per l'applicazione che effettua la richiesta. Ad esempio, questa richiesta recupera le playlist associate al canale GoogleDevelopers.

GET {base_URL}/playlists?part=snippet
                        &channelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
                        &key={YOUR_API_KEY}

Recupera abbonamenti

Una risorsa subscription definisce una relazione tra un utente di YouTube (iscritto) e un canale. Il metodo subscriptions.list recupera gli iscritti a un determinato canale o le iscrizioni di un determinato utente, a seconda dei parametri che includi nella richiesta.

Iscritti al canale

Questa richiesta recupera un elenco di iscritti al canale autenticato.

GET {base_URL}/subscriptions?part=snippet
                            &mySubscribers=true

Abbonamenti utente

Lo stesso metodo che elenca gli iscritti (subscriptions.list) può essere usato per elencare i canali a cui un utente si iscrive. Questa richiesta utilizza il parametro mine per recuperare un elenco dei canali YouTube a cui l'utente autenticato ha effettuato l'iscrizione.

GET {base_URL}/subscriptions?part=snippet
                            &mine=true

Recuperare l'attività utente

Una risorsa activity contiene informazioni su un'azione intrapresa su un determinato canale o utente da YouTube, come il caricamento di un video, l'iscrizione a un canale e così via. Il metodo activities.list recupera le azioni associate a un canale o un utente che corrispondono ai criteri della richiesta. Ad esempio, puoi recuperare le azioni associate a un determinato canale, le iscrizioni dell'utente o la home page di YouTube personalizzata.

Attività durante un periodo di tempo

Questa richiesta recupera tutte le azioni eseguite dall'utente autenticato nel mese di aprile 2013.

GET {base_URL}/activities?part=snippet,contentDetails
                         &mine=true
                         &publishedAfter=2013-04-01T00%3A00%3A00Z
                         &publishedBefore=2013-05-01T00%3A00%3A00Z

Attività sulla home page

Questa richiesta recupera il feed di attività personalizzato che viene visualizzato nella home page di YouTube dell'utente autenticato. 

GET {base_URL}/activities?part=snippet,contentDetails
                         &home=true

Per recuperare le statistiche di visualizzazione, le metriche relative alla popolarità e le informazioni demografiche relative ai video e ai canali di YouTube, puoi utilizzare l'API di YouTube Analytics. La pagina Richieste API di esempio mostra come recuperare i report più comuni da YouTube Analytics.

Il metodo search.list ti consente di cercare video, canali o playlist di YouTube che corrispondono a criteri specifici. Puoi eseguire ricerche basate su proprietà video, parole chiave o argomenti (o una combinazione di questi) e ordinare i risultati in base a fattori quali data di creazione, numero di visualizzazioni o valutazione.

Come altre richieste all'API YouTube Data, il metodo search.list restituisce la rappresentazione JSON di una risorsa di YouTube. A differenza di altre risorse di YouTube, tuttavia, un risultato di ricerca non è un oggetto permanente con un ID univoco.

Molte richieste cercano contenuti disponibili pubblicamente e pertanto non richiedono l'autenticazione. Tra gli esempi riportati di seguito, solo il primo richiede l'autenticazione, poiché richiede specificamente i "miei" video. Quando invii una richiesta non autenticata, devi includere l'argomento key che specifica la chiave API univoca per la tua applicazione.

I miei video più visti

Questa richiesta recupera tutti i video dell'utente autenticato e li elenca in ordine decrescente per numero di visualizzazioni.

GET {base_URL}/search?part=snippet
                     &forMine=true
                     &order=viewCount
                     &type=video

Video ad alta definizione incorporabili

Questa richiesta cerca video che hanno determinate proprietà, ovvero video ad alta definizione che possono essere incorporati in altri siti. I risultati vengono elencati in ordine decrescente di valutazione.

GET {base_URL}/search?part=snippet
                     &order=rating
                     &type=video
                     &videoDefinition=high
                     &videoEmbeddable=true
                     &key={YOUR_API_KEY}

Video su un argomento specifico

Questa richiesta esegue una ricerca per parole chiave per video sull'API di dati di YouTube che includono sottotitoli.

GET {base_URL}/search?part=snippet
                     &q=YouTube+Data+API
                     &type=video
                     &videoCaption=closedCaption
                     &key={YOUR_API_KEY}

Ricerca basata sugli argomenti

Un modo più sofisticato per cercare video su un determinato argomento è utilizzare gli argomenti Freebase anziché le parole chiave. Le risorse video e il canale YouTube contengono tutti un oggetto topicDetails che contiene un elenco di ID argomento Freebase associati alla risorsa. Una ricerca basata su argomento è più intelligente di una ricerca per parole chiave, perché un argomento Freebase rappresenta tutti gli aspetti di un concetto o di una cosa reale.

Per eseguire una ricerca utilizzando un argomento Freebase, devi prima recuperare l'ID argomento utilizzando l'API Freebase. Questa richiesta restituisce i video associati all'argomento Freebase per Python il cui ID argomento è /m/05z1_.

GET {base_URL}/search?part=snippet
                     &topicId=/m/05z1_
                     &type=video
                     &key={YOUR_API_KEY}

Ricerca di playlist o canali

La ricerca non è limitata ai video. Puoi anche cercare playlist o canali. Questa richiesta recupera le playlist che corrispondono alla parola chiave "calcio".

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=playlist
                     &key={YOUR_API_KEY}

Se preferisci trovare canali di calcio, modifica il parametro type.

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &type=channel
                     &key={YOUR_API_KEY}

Se vuoi tutti i contenuti correlati al calcio (canali, playlist e video), puoi eseguire una ricerca universale. Se ometti il parametro type, la richiesta recupera i contenuti di tutti i tipi

GET {base_URL}/search?part=snippet
                     &q=soccer
                     &key={YOUR_API_KEY}

Creare e aggiornare risorse

Le richieste che abbiamo esaminato finora utilizzano tutte il metodo HTTP GET per recuperare i dati di YouTube. L'API di dati di YouTube offre anche metodi che utilizzano HTTP POST per creare o aggiornare le risorse di YouTube come video, playlist o canali. Di seguito sono riportati alcuni esempi di richieste.

I metodi POST includono un elemento Request body, che è la rappresentazione JSON della risorsa creata o aggiornata. Puoi creare rappresentazioni JSON in Explorer API di Google utilizzando uno strumento interattivo.

Crea una sottoscrizione

Questa richiesta consente di iscrivere l'utente autenticato al canale GoogleDevelopers. In altre parole, crea una risorsa di abbonamento.

POST {base_URL}/subscriptions?part=snippet
Request body: {   'snippet': {     'resourceId': {       'kind': 'youtube#channel',       'channelId': 'UC_x5XG1OV2P6uZZ5FSM9Ttw'     }   } }

Crea una playlist

Questa richiesta crea una nuova playlist pubblica.

POST {base_URL}/playlists?part=snippet
Request body: {   'snippet': {     'title': 'New playlist',     'description': 'Sample playlist for Data API',   } }

Aggiunta di un video a una playlist.

Ora che abbiamo creato una playlist, aggiungiamo un video. Questa richiesta aggiunge un video all'inizio della playlist ('position': 0).

POST {base_URL}/playlistItems?part=snippet
  Request body:
  {
    'snippet': {
      'playlistId': '{PLAYLIST_ID}', 
      'resourceId': {
          'kind': 'youtube#video',
          'videoId': '{VIDEO_ID}'
        }
     'position': 0
      }
   }