Implementazione: commenti

Il metodo comments.markAsSpam non è più supportato.

I seguenti esempi mostrano come utilizzare l'API di dati di YouTube (v3) per eseguire funzioni relative ai commenti.

Recupera 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 dei parametri 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 devi utilizzare il metodo comments.list se vuoi recuperare tutte le risposte per un determinato commento.

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

La richiesta che segue recupera le risposte ai commenti e i commenti relativi al video del discorso di apertura alla conferenza Google I/O 2014, che ha l'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 su un canale o associati a quest'ultimo

L'API supporta la possibilità di recuperare i thread di commenti relativi a un canale o di tutti i thread di commenti associati a un canale. Nel secondo caso, l'API potrebbe contenere commenti sul canale o su qualsiasi video del canale.

La richiesta seguente 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

Richiama il metodo commentThreads.insert per aggiungere un nuovo commento di primo livello a un canale o a un video. Imposta il valore parametro part della richiesta su snippet. Il corpo della richiesta è un elemento 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 identificare il canale.
  • 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 consente di aggiungere 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 parametro part della richiesta su snippet. Il corpo della richiesta è un elemento 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 è 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 principale o una risposta a un 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 Explorer 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 il proprietario di un 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. Inoltre, imposta 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

    Richiama 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 può essere utilizzata per mostrare un elenco di commenti, con un'opzione che consente al proprietario del canale di pubblicare o rifiutare ciascuno di essi.

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

    Richiama 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 ulteriori commenti sul canale o sul video.

Nota:l'API non fornisce un modo per elencare o individuare in altro modo i commenti rifiutati. Tuttavia, puoi comunque cambiare lo stato di moderazione di un commento rifiutato impostandolo su published se l'ID univoco del commento è noto. Inoltre, una volta che lo stato di moderazione di un commento viene aggiornato a published o rejected, non è più possibile ripristinare heldForReview lo stato di moderazione.

Rimuovere un commento

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

  • Passaggio 1: recupera l'ID del commento

    Segui i passaggi precedenti per recuperare un elenco di commenti per un video o 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 commento specifico.

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

    Una volta identificato l'ID del thread di commenti o del commento che stai eliminando, chiama il metodo comments.delete per eliminarlo. Utilizza il valore parametro id per identificare l'ID del commento o l'ID del thread del commento che stai eliminando. La richiesta deve essere autorizzata utilizzando OAuth 2.0. Se stai testando questa query in Explorer API, dovrai sostituire un ID commento o ID thread di commenti validi con il valore del parametro id nella richiesta seguente.

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