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 susnippet
se vuoi recuperare solo i commenti di primo livello o susnippet,replies
se vuoi recuperare anche le risposte ai commenti di primo livello. Tieni presente che una risorsacommentThread
non contiene necessariamente tutte le risposte a un commento e che devi utilizzare il metodocomments.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.
- Per recuperare i commenti su un canale, segui le istruzioni per recuperare i commenti di un video. Tuttavia, anziché impostare il parametro
videoId
, imposta il parametrochannelId
per identificare il canale. - Per recuperare i commenti associati a un canale, segui le istruzioni per recuperare i commenti di un video. Tuttavia, anziché impostare il parametro
videoId
, imposta il parametroallThreadsRelatedToChannelId
per identificare il canale.
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 parametromoderationStatus
suheldForReview
. 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 parametroid
per specificare l'ID univoco del commento. Imposta il parametromoderationStatus
supublished
orejected
. Se rifiuti un commento, puoi anche impostare il parametrobanAuthor
sutrue
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 risorsacomment
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 parametroid
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 parametroid
nella richiesta riportata di seguito.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID