comments.markAsSpam больше не поддерживается.
Ниже приведены примеры того, как использовать YouTube Data API (v3) для выполнения функций, связанных с комментариями.
Как получить комментарии к видео
Чтобы получить список цепочек комментариев к видео, вызовите метод commentThreads.list. Задайте в запросе следующие значения параметров:
-
part. Установите значение параметраsnippet, если хотите получить только комментарии верхнего уровня, илиsnippet,replies, если вам также нужны ответы на них. Обратите внимание, что ресурсcommentThreadне обязательно содержит все ответы на комментарий. Чтобы получить все ответы на определенный комментарий, используйте методcomments.list. -
videoId. Укажите идентификатор видео YouTube, для которого вы получаете комментарии.
В приведенном ниже запросе извлекаются комментарии и ответы на них, относящиеся к видео с основным докладом на конференции Google I/O 2014 г. Идентификатор видео – wtLJPvx7-ys.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &videoId=wtLJPvx7-ys
Как получить комментарии, связанные с каналом
API позволяет получать цепочки комментариев, относящиеся к каналу, или все цепочки комментариев, связанные с каналом. В последнем случае API может содержать комментарии о канале или о любом из его видео.
- Чтобы получить комментарии к каналу, следуйте инструкциям по получению комментариев к видео. Однако вместо параметра
videoIdзадайте параметрchannelId, чтобы указать канал. - Чтобы получить комментарии, связанные с каналом, следуйте инструкциям по получению комментариев к видео. Однако вместо параметра
videoIdдля идентификации канала следует использовать параметрallThreadsRelatedToChannelId.
Приведенный ниже запрос позволяет получить все цепочки комментариев, связанные с каналом YouTube GoogleDevelopers.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.list? part=snippet,replies &allThreadsRelatedToChannelId=UC_x5XG1OV2P6uZZ5FSM9Ttw
Добавление комментария
Вызовите метод commentThreads.insert, чтобы добавить новый комментарий верхнего уровня к каналу или видео. Установите для параметра part запроса значение snippet. Тело запроса – это объект commentThread resource, в котором свойство snippet.topLevelComment[].snippet[].textOriginal содержит текст комментария. Этот запрос должен быть авторизован с помощью OAuth 2.0.
- Чтобы добавить комментарий к каналу, используйте свойство
snippet.channelId, чтобы указать канал. - Чтобы добавить комментарий к видео, используйте свойство
snippet.channelId, чтобы указать канал, на который загружено видео. Также используйте свойствоsnippet.videoId, чтобы идентифицировать видео.
В примере ниже показано, как добавить комментарий к видео.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.commentThreads.insert? part=snippet
Запрос вставляет ресурс, показанный ниже.
{
"snippet": {
"channelId": "UC_x5XG1OV2P6uZZ5FSM9Ttw",
"topLevelComment": {
"snippet": {
"textOriginal": "This video is awesome!"
}
},
"videoId": "MILSirUni5E"
}
}Как ответить на комментарий
Чтобы ответить на комментарий, вызовите метод comments.insert. Установите для параметра part значение snippet. Тело запроса – это объект comment resource, в котором свойство snippet.textOriginal содержит текст комментария. Свойство snippet.parentId идентифицирует комментарий, связанный с ответом, и его значением является commentThread resource's ID. Этот запрос должен быть авторизован с помощью OAuth 2.0.
В приведенном ниже примере запроса к существующему комментарию добавляется ответ.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.insert? part=snippet
Запрос вставляет ресурс, показанный ниже. Чтобы выполнить запрос в APIs Explorer, используйте значение свойства snippet.parentId, чтобы определить комментарий верхнего уровня, связанный с ответом. В ресурсе commentThread свойство snippet.topLevelComment[].id указывает на уникальный идентификатор ресурса.
{
"snippet": {
"parentId": "COMMENT_THREAD_ID",
"textOriginal": "That is true."
}
}Как изменить комментарий верхнего уровня или ответ на комментарий
Чтобы изменить текст комментария верхнего уровня или ответа на него, вызовите метод comments.update. Установите для параметра part значение snippet. В теле запроса свойство id идентифицирует комментарий, который вы изменяете, и новый текст комментария.
- В ресурсе
commentThread, который идентифицирует комментарий верхнего уровня, свойствоsnippet.topLevelComment[].idуказывает уникальный идентификатор комментария. - В ресурсе
comment, который может идентифицировать как комментарий верхнего уровня, так и ответ на комментарий, свойствоidуказывает уникальный идентификатор комментария.
В примере запроса ниже обновляется текст существующего комментария.
https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.update? part=snippet
Тело запроса содержит фрагмент JSON, показанный ниже. Чтобы выполнить запрос в API Explorer, задайте значение свойства id, которое идентифицирует обновляемый комментарий. Запрос должен быть авторизован автором комментария.
{
"id": "COMMENT_ID",
"snippet": {
"textOriginal": "That is true."
}
}Как задать статус модерации комментария
Чтобы задать статус модерации комментария, вызовите метод comments.setModerationStatus. Это действие используется, когда владелец канала модерирует комментарии на канале или к видео.
При вызове этого метода задайте значение параметра id, чтобы идентифицировать комментарий. Также задайте для параметра moderationStatus нужный статус. Изменить статус комментария может только владелец канала, на котором он опубликован.
-
Шаг 1. Получите комментарии, отправленные на проверку
Вызовите метод
commentThreads.list, чтобы получить комментарии к каналу или видео. Установите для параметраmoderationStatusзначениеheldForReview. Ответ API можно использовать для показа списка комментариев с возможностью для владельца канала опубликовать или отклонить каждый из них. -
Шаг 2. Измените статус модерации комментария
Вызовите метод
comments.setModerationStatus, чтобы изменить статус комментария. В качестве значения параметраidукажите уникальный идентификатор комментария. В параметреmoderationStatusзадайте переменныеpublishedилиrejected. Если вы отклоняете комментарий, то можете также задать для параметраbanAuthorзначениеtrue, чтобы запретить автору оставлять комментарии на канале или под видео.
Примечание. API не позволяет получить список отклоненных комментариев или найти их каким-либо другим способом. Однако вы можете изменить статус отклоненного комментария на published, если знаете его уникальный идентификатор. Кроме того, если статус модерации комментария изменен на published или rejected, его нельзя вернуть на heldForReview.
Удалять комментарии.
В этом примере показано, как удалить комментарий. Пример состоит из следующих шагов:
-
Шаг 1. Получите идентификатор комментария
Следуйте инструкциям выше, чтобы получить список комментариев к видео или каналу. Помните, что комментарий может удалить только его автор. Чтобы определить, может ли пользователь удалить определенный комментарий, сравните значение свойства
snippet.authorChannelId.valueресурсаcommentс идентификатором канала аутентифицированного пользователя. -
Шаг 2. Удалите комментарий или цепочку комментариев
Определив идентификатор цепочки комментариев или комментария, который нужно удалить, вызовите метод
comments.delete. Используйте значение параметраid, чтобы указать идентификатор комментария или цепочки комментариев, которые вы хотите удалить. Запрос должен быть авторизован с помощью OAuth 2.0. Если вы тестируете этот запрос в API Explorer, вам нужно будет заменить значение параметраidв запросе ниже на действительный идентификатор комментария или цепочки комментариев.https://developers.google.com/apis-explorer/#p/youtube/v3/youtube.comments.delete? id=COMMENT_ID