Невозможно удалить комментарий к видео Youtube через API

Я пытаюсь удалить следующий комментарий z12mdhjgxrfgtpf3d231jrz5vo3jdj0lo в этом видео, но код ответа - 400. Я использую токен администратора канала с областью https://www.googleapis.com/auth/youtube.force-ssl как это требуется по документации.

Запрос:

DELETE https://www.googleapis.com/youtube/v3/comments?id=z12mdhjgxrfgtpf3d231jrz5vo3jdj0lo&alt=json

{
    "query_params": { 
        "id": "z12mdhjgxrfgtpf3d231jrz5vo3jdj0lo",
        "alt": "json"
    }
}

Ответ:

{
 "error": {
  "errors": [
   {
    "domain": "youtube.comment",
    "reason": "processingFailure",
    "message": "The API server failed to successfully process the request. While this can be a transient error, it usually indicates that the requests input is invalid.",
    "locationType": "parameter",
    "location": "id"
   }
  ],
  "code": 400,
  "message": "The API server failed to successfully process the request. While this can be a transient error, it usually indicates that the requests input is invalid."
 }
}

Что не так с запросом?

Это информация об отладке токена:

{
    issued_to: "493985796851.apps.googleusercontent.com",
    audience: "493985796851.apps.googleusercontent.com",
    user_id: "109704411339866376304",
    scope: "https://www.googleapis.com/auth/plus.me https://www.googleapis.com/auth/youtube.force-ssl https://www.googleapis.com/auth/youtube.upload",
    expires_in: 2452,
    access_type: "offline"
}

1 ответ

Решение

Причина, по которой вы не можете удалить комментарий, заключается в том, что вы используете Comments.delete для удаления комментария, который был написан другими пользователями. Comments.delete удаляет только ваши собственные комментарии в вашем видео.

Чтобы удалить комментарий других пользователей, используйте Comments.setModerationStatus и установите для moderationStatus значение "rejected".

Так что просто повторите то, что вы сделали, но на этот раз, используя Comments.setModerationStatus, Для проверки есть ссылка Try-it.

Другие вопросы по тегам