Implementazione: video

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

Recuperare i video caricati di 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. La classifica mostPopular include video musicali, film e videogiochi di tendenza.

Poi, puoi impostare facoltativamente i seguenti parametri:

  • regionCode: indica all'API di restituire un elenco di video per la regione specificata. Il valore del parametro è un codice paese ISO 3166-1 alpha-2. Puoi utilizzare il metodo i18nRegions.list per recuperare un elenco dei codici regione supportati da YouTube.
  • videoCategoryId: identifica la categoria di video per cui devono essere recuperati i video più popolari. Puoi utilizzare il metodo videoCategories.list per recuperare un elenco di ID categoria supportati da YouTube.

Ad esempio, la seguente richiesta recupera i video sportivi più popolari in Spagna:

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

Carica un video

Poiché APIs Explorer non supporta la possibilità di caricare file, questa descrizione non rimanda a un esempio eseguibile. Le seguenti risorse ti aiuteranno a modificare la tua applicazione in modo che possa caricare 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 Caricamenti ripristinabili spiega la sequenza di richieste HTTP che un'applicazione utilizza per caricare video utilizzando una procedura di caricamento ripristinabile. La guida è pensata principalmente per gli sviluppatori che non possono utilizzare le librerie client delle API di Google, alcune delle quali forniscono supporto nativo per i caricamenti ripristinabili.

  • L'esempio JavaScript per il caricamento di un video utilizza CORS (condivisione delle risorse tra origini) per mostrare come caricare un file video tramite una pagina web. La libreria di caricamento CORS utilizzata dall'API v3 supporta naturalmente il caricamento ripristinabile. Inoltre, l'esempio mostra come controllare lo stato di un video caricato recuperando la parte processingDetails della risorsa video, nonché come gestire le modifiche di stato per il 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 ha esito positivo, la risposta dell'API conterrà una risorsa video che identifica l'ID video 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à cambierà in un valore diverso da processing, ad esempio succeeded o failed, al termine dell'elaborazione del video da parte di YouTube.

    Il corpo della richiesta è una risorsa video in cui la proprietà id specifica l'ID video 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 APIs Explorer, 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 in 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 API è un probabile primo passaggio di questo processo.

  • Passaggio 2: aggiorna 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 video 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 APIs Explorer, devi impostare il valore della proprietà id.

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

Caricare un'immagine di 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 il quale verrà utilizzata la miniatura.

Questa query non può essere testata utilizzando Explorer API perché non supporta la possibilità di caricare file multimediali, che è 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 in 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 API è un probabile primo passo di questa procedura.

  • Passaggio 2: elimina 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, dovrai sostituire un ID video valido con 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 contiene contenuti illeciti. L'esempio prevede i seguenti passaggi:

  • Passaggio 1: recupera gli ID che spiegano perché il video viene segnalato

    Invia una richiesta autorizzata al metodo videoAbuseReportReasons.list per recuperare un elenco di motivi validi per segnalare un video. La risorsa di esempio videoAbuseReportReason riportata di seguito contiene informazioni per 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 perché contiene spam, devi fornire l'ID del motivo e ti consigliamo vivamente di 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 consigliato un motivo secondario.

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

    L'oggetto JSON di esempio riportato di seguito segnala un video perché contiene spam o contenuti ingannevoli e, più nello specifico, perché utilizza un'immagine in miniatura ingannevole. 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 riportato di seguito carica l'oggetto JSON riportato sopra in Explorer API. Per testare la query, devi sostituire un ID video valido al valore della proprietà videoId. 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