Implementazione: commenti

Il metodo comments.markAsSpam non è più supportato.

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

Recuperare i commenti di un video

Per recuperare un elenco di thread di commenti per un video, chiama il metodo commentThreads.list. Imposta i seguenti valori di parametro nella richiesta:

  • part: imposta il valore del parametro su snippet se vuoi recuperare solo i commenti di primo livello o su snippet,replies se vuoi recuperare anche le risposte ai commenti di primo livello. Tieni presente che una risorsa commentThread non contiene necessariamente tutte le risposte a un commento e che devi utilizzare il metodo comments.list per recuperare tutte le risposte per un determinato commento.

  • videoId: specifica l'ID del video di YouTube per cui stai recuperando i commenti.

La richiesta riportata di seguito recupera i commenti e le risposte ai commenti relativi al video del discorso di apertura della conferenza Google I/O 2014, il cui ID video è wtLJPvx7-ys.

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&videoId=wtLJPvx7-ys

Recuperare i commenti relativi a un canale o associati a un canale

L'API supporta la possibilità di recuperare i thread dei commenti relativi a un canale o tutti i thread dei commenti associati a un canale. In quest'ultimo caso, l'API potrebbe contenere commenti sul canale o su uno dei suoi video.

La richiesta riportata di seguito recupera tutti i thread di commenti associati al canale YouTube GoogleDevelopers:

https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list?
part=snippet,replies
&allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw

Aggiunta di un commento

Chiama il metodo commentThreads.insert per aggiungere un nuovo commento di primo livello a un canale o a un video. Imposta il valore del parametro part della richiesta su snippet. Il corpo della richiesta è un commentThread resource in cui la proprietà snippet.topLevelComment[].snippet[].textOriginal contiene il testo del commento. Questa richiesta deve essere autorizzata utilizzando OAuth 2.0.

  • Per aggiungere un commento a un canale, utilizza la proprietà snippet.channelId per identificarlo.
  • Per aggiungere un commento a un video, utilizza la proprietà snippet.channelId per identificare il canale che ha caricato il video. Utilizza anche la proprietà snippet.videoId per identificare il video.

La seguente richiesta di esempio aggiunge un commento a un video.

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

La richiesta inserisce la risorsa mostrata di seguito.

{
 "snippet": {
  "channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
  "topLevelComment": {
   "snippet": {
    "textOriginal": "This video is awesome!"
   }
  },
  "videoId": "MILSirUni5E"
 }
}

Rispondere a un commento

Chiama il metodo comments.insert per rispondere a un commento. Imposta il valore del parametro part della richiesta su snippet. Il corpo della richiesta è un comment resource in cui la proprietà snippet.textOriginal contiene il testo del commento. La proprietà snippet.parentId identifica il commento associato alla risposta e il suo valore è un commentThread resource's ID. Questa richiesta deve essere autorizzata utilizzando OAuth 2.0.

La seguente richiesta di esempio aggiunge una risposta a un commento esistente.

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

La richiesta inserisce la risorsa mostrata di seguito. Per eseguire la richiesta in Explorer API, utilizza il valore della proprietà snippet.parentId per identificare il commento di primo livello associato alla risposta. In una risorsa commentThread, la proprietà snippet.topLevelComment[].id specifica l'ID univoco della risorsa.

{
  "snippet": {
    "parentId": "COMMENT_THREAD_ID",
    "textOriginal": "That is true."
  }
}

Aggiornare un commento di primo livello o una risposta al commento

Per aggiornare il testo di un commento di primo livello o di una risposta a un commento di primo livello, chiama il metodo comments.update. Imposta il valore del parametro part su snippet. Nel corpo della richiesta, la proprietà id identifica il commento che stai modificando e il nuovo testo del commento.

  • In una risorsa commentThread, che identifica un commento di primo livello, la proprietà snippet.topLevelComment[].id specifica l'ID univoco del commento.
  • In una risorsa comment, che può identificare un commento di primo livello o una risposta a un commento, la proprietà id specifica l'ID univoco del commento.

La richiesta di esempio riportata di seguito aggiorna il testo di un commento esistente.

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

Il corpo della richiesta contiene lo snippet JSON mostrato di seguito. Per eseguire la richiesta in Esplora API, imposta il valore della proprietà id per identificare il commento che stai aggiornando. La richiesta deve essere autorizzata dall'autore del commento.

{
  "id": "COMMENT_ID",
  "snippet": {
    "textOriginal": "That is true."
  }
}

Impostare lo stato di moderazione di un commento

Per impostare lo stato di moderazione di un commento, chiama il metodo comments.setModerationStatus. Questa azione viene utilizzata quando un proprietario del canale modera i commenti sul canale o sui video del canale.

Quando chiami questo metodo, imposta il valore del parametro id per identificare il commento. Imposta anche il parametro moderationStatus sullo stato desiderato. Lo stato di un commento può essere modificato solo dal proprietario del canale in cui viene visualizzato.

  • Passaggio 1: recupera i commenti in attesa di revisione

    Chiama il metodo commentThreads.list per recuperare i commenti relativi al canale o al video. Imposta il valore del parametro moderationStatus su heldForReview. La risposta dell'API potrebbe essere utilizzata per visualizzare un elenco di commenti con un'opzione che consenta al proprietario del canale di pubblicarli o rifiutarli.

  • Passaggio 2: aggiorna lo stato di moderazione di un commento

    Chiama il metodo comments.setModerationStatus per aggiornare lo stato del commento. Utilizza il valore del parametro id per specificare l'ID univoco del commento. Imposta il parametro moderationStatus su published o rejected. Se rifiuti un commento, puoi anche impostare il parametro banAuthor su true per impedire all'autore di aggiungere altri commenti sul canale o sul video.

Nota:l'API non fornisce un modo per elencare o scoprire in altro modo i commenti rifiutati. Tuttavia, puoi comunque modificare lo stato di moderazione di un commento rifiutato in published se ne conosci l'ID univoco. Inoltre, una volta aggiornato lo stato di moderazione di un commento su published o rejected, non è possibile ripristinare lo stato heldForReview.

Rimuovi un commento

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

  • Passaggio 1: recupera l'ID commento

    Segui i passaggi precedenti per recuperare un elenco di commenti relativi a un video o a un canale. Ricorda che un commento può essere eliminato solo dal suo autore, quindi dovrai confrontare il valore della proprietà snippet.authorChannelId.value di una risorsa comment con l'ID canale dell'utente autenticato per determinare se l'utente può eliminare quel determinato commento.

  • Passaggio 2: elimina il commento o il thread dei commenti

    Una volta identificato l'ID del thread di commenti o del commento da eliminare, chiama il metodo comments.delete per eliminare il commento. Utilizza il valore del parametro id per identificare l'ID commento o l'ID thread di commenti che stai eliminando. La richiesta deve essere autorizzata utilizzando OAuth 2.0. Se stai testando questa query in Explorer API, devi sostituire un ID commento o un ID thread dei commenti valido per il valore del parametro id nella richiesta riportata di seguito.

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