Implementazione: video

Gli esempi riportati di seguito mostrano come utilizzare l'API YouTube Data (v3) per eseguire funzioni relative ai video.

Recuperare i video caricati da un canale

Questo esempio recupera i video caricati su un determinato canale. L'esempio prevede due passaggi:

Questo esempio mostra come recuperare un elenco dei video più popolari di YouTube, selezionati utilizzando un algoritmo che combina molti indicatori diversi per determinare la popolarità complessiva.

Per recuperare l'elenco dei video più popolari, chiama il metodo videos.list e imposta il valore del parametro chart su mostPopular. Quando recuperi questo elenco, puoi anche impostare uno o entrambi i seguenti parametri:

  • regionCode: indica all'API di restituire un elenco di video per la regione specificata.
  • videoCategoryId: identifica la categoria di video per la quale devono essere recuperati i video più popolari.

La richiesta riportata di seguito recupera i video di sport più popolari in Spagna:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.search.list?
        part=snippet
        &chart=mostPopular
        &regionCode=es
        &videoCategoryId=17

Carica un video

Poiché Explorer API non supporta la possibilità di caricare file, questa descrizione non contiene un link a un esempio eseguibile. Le seguenti risorse ti aiuteranno a modificare la tua applicazione in modo che possa caricare i video utilizzando l'API v3:

  • La documentazione del metodo videos.insert dell'API contiene diversi esempi di codice che spiegano come caricare un video utilizzando diversi linguaggi di programmazione.

  • La guida sui caricamenti ricollegabili spiega la sequenza di richieste HTTP utilizzate da un'applicazione per caricare i video utilizzando un processo di caricamento ricollegabile. La guida è rivolta principalmente agli sviluppatori che non possono utilizzare le librerie client delle API di Google, alcune delle quali forniscono il supporto nativo per i caricamenti riavviabili.

  • L'esempio di codice JavaScript per il caricamento di un video utilizza la funzionalità CORS (Cross-Origin Resource Sharing) per dimostrare come caricare un file video tramite una pagina web. La libreria di caricamento CORS utilizzata dall'API v3 supporta naturalmente il caricamento riavviabile. Inoltre, l'esempio mostra come controllare lo stato di un video caricato recuperando la parte processingDetails della risorsa video, nonché come gestire le modifiche dello stato del video caricato.

Controllare lo stato di un video caricato

Questo esempio mostra come controllare lo stato di un video caricato. Un video caricato sarà immediatamente visibile nel feed dei video caricati dell'utente autenticato. Tuttavia, il video non sarà visibile su YouTube finché non sarà stato elaborato.

  • Passaggio 1: carica il video

    Chiama il metodo videos.insert per caricare il video. Se la richiesta va a buon fine, la risposta dell'API conterrà una risorsa video che identifica l'ID univoco del video caricato.

  • Passaggio 2: controlla lo stato del video

    Chiama il metodo videos.list per controllare lo stato del video. Imposta il valore del parametro id sull'ID video ottenuto nel passaggio 1. Imposta il valore del parametro part su processingDetails.

    Se la richiesta viene gestita correttamente, la risposta dell'API conterrà una risorsa video. Controlla il valore della proprietà processingDetails.processingStatus per determinare se YouTube sta ancora elaborando il video. Il valore della proprietà diventerà diverso da processing, ad esempio succeeded o failed, quando YouTube avrà terminato di elaborare il video.

    Il corpo della richiesta è una risorsa video in cui la proprietà id specifica l'ID del video che stai eliminando. In questo esempio, la risorsa contiene anche un oggetto recordingDetails.

    La richiesta riportata di seguito controlla lo stato di un video. Per completare la richiesta in Esplora API, devi impostare il valore della proprietà id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.list?
            part=snippet,processingDetails
            &id=VIDEO_ID

Nota:la tua applicazione potrebbe eseguire il polling dell'API per controllare periodicamente lo stato di un video appena caricato. Una volta elaborato il video, la tua applicazione potrebbe creare un bollettino o procedere con un'altra azione, a seconda dello stato del video.

Aggiornare un video

Questo esempio mostra come aggiornare un video per aggiungere informazioni sull'ora e sul luogo in cui è stato registrato. L'esempio prevede i seguenti passaggi:

  • Passaggio 1: recupera l'ID video

    Segui i passaggi precedenti per recuperare i video caricati per il canale dell'utente attualmente autenticato. L'elenco potrebbe essere utilizzato per visualizzare un elenco di video, utilizzando l'ID di ciascun video come chiave.

    Nota:esistono molti altri modi per ottenere gli ID video, ad esempio recuperando i risultati di ricerca o elencando gli elementi di una playlist. Tuttavia, poiché un video può essere aggiornato solo dal suo proprietario, il recupero di un elenco di video di proprietà dell'utente che autorizza la richiesta dell'API è un probabile primo passaggio di questa procedura.

  • Passaggio 2: aggiornare un video

    Chiama il metodo videos.update per aggiornare un video specifico. Imposta il valore del parametro part su recordingDetails. Il valore del parametro dipende dai campi dei metadati del video che vengono aggiornati.

    Il corpo della richiesta è una risorsa video in cui la proprietà id specifica l'ID del video che stai aggiornando. In questo esempio, la risorsa contiene anche un oggetto recordingDetails.

    La risorsa di esempio riportata di seguito indica che il video è stato registrato il 30 ottobre 2013 a Boston:

    {
      "id": "VIDEO_ID",
      "recordingDetails": {
        "location": {
          "latitude": "42.3464",
          "longitude": "-71.0975"
        }
        "recordingDate": "2013-10-30T23:15:00.000Z"
      }
    }

    Per completare la richiesta in Esplora API, devi impostare il valore della proprietà id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.update?
            part=snippet

Caricare un'immagine miniatura personalizzata e impostarla per un video

Puoi utilizzare il metodo thumbnails.set dell'API v3 per caricare un'immagine della miniatura personalizzata e impostarla per un video. Nella richiesta, il valore del parametro videoId identifica il video per cui verrà utilizzata la miniatura.

Questa query non può essere testata utilizzando Explorer API perché non supporta la possibilità di caricare file multimediali, un requisito per questo metodo.

Esempi di codice correlati: PHP, Python

Eliminare un video

Questo esempio mostra come eliminare un video. L'esempio prevede i seguenti passaggi:

  • Passaggio 1: recupera l'ID video

    Segui i passaggi precedenti per recuperare i video caricati per il canale dell'utente attualmente autenticato. L'elenco potrebbe essere utilizzato per visualizzare un elenco di video, utilizzando l'ID di ciascun video come chiave.

    Nota:esistono molti altri modi per ottenere gli ID video, ad esempio recuperando i risultati di ricerca o elencando gli elementi di una playlist. Tuttavia, poiché un video può essere eliminato solo dal suo proprietario, il recupero di un elenco di video di proprietà dell'utente che autorizza la richiesta dell'API è un probabile primo passaggio di questa procedura.

  • Passaggio 2: eliminare un video

    Chiama il metodo videos.delete per eliminare un video specifico. Nella richiesta, il parametro id specifica l'ID del video che stai eliminando. La richiesta deve essere autorizzata utilizzando OAuth 2.0. Se stai testando questa query in Explorer API, devi sostituire un ID video valido per il valore del parametro id.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.delete?
            id=VIDEO_ID
    

Segnalare un video illecito

Questo esempio mostra come segnalare un video che include contenuti illeciti. L'esempio prevede i seguenti passaggi:

  • Passaggio 1: recupera gli ID che spiegano il motivo della segnalazione del video

    Invia una richiesta autorizzata al metodo videoAbuseReportReasons.list per recuperare un elenco di motivi validi per segnalare un video. La risorsa videoAbuseReportReason di esempio riportata di seguito contiene informazioni su come segnalare un video che include spam o contenuti fuorvianti.

    {
      "kind": "youtube#videoAbuseReportReason",
      "etag": "\"tbWC5XrSXxe1WOAx6MK9z4hHSU8/Or2VqBIilpHU7j__oPzUFCvGVBw\"",
      "id": "S",
      "snippet": {
        "label": "Spam or misleading",
        "secondaryReasons": [
          {
            "id": "27",
            "label": "Spam or mass advertising"
          },
          {
            "id": "28",
            "label": "Misleading thumbnail"
          },
          {
            "id": "29",
            "label": "Malware or phishing"
          },
          {
            "id": "30",
            "label": "Pharmaceutical drugs for sale"
          },
          {
            "id": "31",
            "label": "Other misleading info"
          }
        ]
      }
    }

    Come mostrato nella risorsa, questo motivo è associato a un elenco di motivi secondari. Quando segnali un video per spam, devi fornire l'ID del motivo e ti invitiamo vivamente a fornire anche un motivo secondario.

  • Passaggio 2: segnala il video per contenuti illeciti

    Invia una richiesta autorizzata al metodo videos.reportAbuse per segnalare effettivamente il video. Il corpo della richiesta è un oggetto JSON che identifica sia il video segnalato sia il motivo della segnalazione. Come indicato nel passaggio 1, per alcuni tipi di motivi, è supportato e fortemente incoraggiato un motivo secondario.

    La proprietà videoId dell'oggetto JSON identifica il video segnalato.

    L'oggetto JSON di esempio riportato di seguito segnala un video per contenuti ingannevoli o spam e, più specificamente, per l'utilizzo di un'immagine ingannevole della miniatura. Come mostrato nell'oggetto JSON di esempio riportato sopra, l'ID per i contenuti spam o ingannevoli è S. L'ID di una miniatura fuorviante è 28.

    {
      "videoId": "VIDEO_ID",
      "reasonId": "S",
      "secondaryReasonId": "28",
      "comments": "Testing the video flagging feature.",
      "language": "en"
    }

    La richiesta videos.reportAbuse deve essere autorizzata utilizzando OAuth 2.0. Il link di seguito carica l'oggetto JSON riportato sopra in Esplora API. Per testare la query, devi sostituire il valore della proprietà videoId con un ID video valido. Tieni presente che l'invio di questa richiesta comporterà la segnalazione del video.

    https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.videos.reportAbuse