Комментарий к обновлению API данных Youtube неавторизованный

#google-api

Вопрос:

У меня есть ключ API и Токен на предъявителя. Я могу перечислять комментарии, вставлять комментарии и удалять комментарии, но я не могу обновлять комментарии.

API:

 PUT https://www.googleapis.com/youtube/v3/comments
 

Тело:

 {
    "snippet": {
        "textOriginal": "Text"
    },
    "id": "..."
}
 

Ответ:

 {
    "error": {
        "code": 403,
        "message": "The comment could not be updated due to insufficient permissions. The request might not be properly authorized.",
        "errors": [
            {
                "message": "The comment could not be updated due to insufficient permissions. The request might not be properly authorized.",
                "domain": "youtube.comment",
                "reason": "forbidden",
                "location": "body",
                "locationType": "other"
            }
        ]
    }
}
 

На моем собственном канале я мог это сделать, но я не был на других каналах =/

Одно из видео, которое я использовал, чтобы попробовать это: https://www.youtube.com/watch?v=cahbnnv2Hwk

Нужна ли мне какая-то специальная авторизация, чтобы я мог обновлять свой комментарий через API? Я могу вручную отредактировать комментарий.

Спасибо =]

Комментарии:

1. Я добавил к ним проблему. Оно было передано инженерной группе. issuetracker.google.com/issues/203111370

Ответ №1:

Комментарий не удалось обновить из-за недостаточных разрешений.

Существует две возможные причины этой ошибки. ИМО, вы, вероятно, смотрите на первое.

Неправильный объем согласия

Это связано с тем, что согласие, которое вы получили от пользователя, недостаточно высокое для этого метода.

Метод comments.update работает с личными пользовательскими данными, что означает, что вам необходимо согласие пользователей, чтобы иметь возможность использовать этот метод. Это то, что делает ваш токен на предъявителя, он должен дать вам согласие пользователя.

Если вы проверите документацию, вы обнаружите, что этот метод требует согласия в следующей области

введите описание изображения здесь

Это всего лишь одна из областей, которые поддерживает api данных YouTube. Эти области определяют, какой доступ требуется вашему приложению. Области применения

Если вы запросили согласие пользователя с какой-либо другой областью, то https://www.googleapis.com/auth/youtube.force-ssl вы получите сообщение об ошибке «недостаточно разрешений», потому что у вас нет разрешения.

Пользователь низкого уровня

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

Как вы утверждаете On my own channel, I was able to do it but I wasn't in other channels , на самом деле это может быть проблемой. Я не уверен, кто является владельцем этих «других каналов», поэтому вы можете попытаться связаться с владельцем и посмотреть, не могут ли они предоставить вам дополнительный доступ.

Однако, если вы пытаетесь обновить комментарий, который вы лично создали на чужом канале. Лично мне интересно, возможно ли это вообще. У кого есть разрешение на редактирование комментария через api, было бы хорошим вопросом. Владелец канала или пользователь, который его создал. Возможно, мне придется это проверить.

Комментарии:

1. Хм, просто чтобы уточнить, я пытаюсь отредактировать только свой собственный комментарий. Я понимаю, что, возможно, я не смогу редактировать, но я все равно могу создавать/удалять свои собственные комментарии на других каналах. Кроме того, я не нашел ничего, прямо говорящего о том, что я не должен быть в состоянии это сделать. Спасибо за ваш ответ =] Кстати, я не думаю, что это проблема с разрешением области, так как для добавления/удаления необходима та же область.

2. Я согласен с отсутствием документации, поэтому я решил исправить проблему с документацией на форумах