Я хочу очистить остатки [Удаленное видео] из нескольких плейлистов моего канала YouTube. Я использую этот код, но он не работает.
YOUTUBE_API_SERVICE_NAME = "youtube"
YOUTUBE_API_VERSION = "v3"
CLIENT_SECRETS_FILE = "client_secrets.json"
YOUTUBE_READ_WRITE_SCOPE = "https://www.googleapis.com/auth/youtube"
def get_authenticated_service(args):
flow = flow_from_clientsecrets(CLIENT_SECRETS_FILE,
scope=YOUTUBE_READ_WRITE_SCOPE,
message=MISSING_CLIENT_SECRETS_MESSAGE)
storage = Storage("%s-oauth2.json" % sys.argv[0])
credentials = storage.get()
if credentials is None or credentials.invalid:
credentials = run_flow(flow, storage, args)
return build(YOUTUBE_API_SERVICE_NAME, YOUTUBE_API_VERSION,
http=credentials.authorize(httplib2.Http()))
if __name__ == "__main__":
try:
args = argparser.parse_args()
youtube = get_authenticated_service(args)
youtube.playlistItems().delete(id="xxxxxxxxx").execute()
except HttpError as e:
print ("\nAn HTTP error %d occurred:\n%s" % (e.resp.status, e.content))
Я получаю это сообщение об ошибке (403) (Запрещено)
Запрос не авторизован должным образом для удаления указанного элемента плейлиста
{
"error": {
"errors": [
{
"domain": "youtube.playlistItem",
"reason": "playlistItemsNotAccessible",
"message": "Forbidden",
"locationType": "parameter",
"location": "id"
}
],
"code": 403,
"message": "Forbidden"
}
}
Даже используя это (попробуйте этот API) отсюда:
https://developers.google.com/youtube/v3/docs/playlistItems/delete?hl=en-419
или здесь
https://developers.google.com/youtube/v3/docs/playlistItems/delete?hl=es-419
Мои учетные данные, мой ключ разработчика и мой файл client_secrets.json в порядке, потому что я использовал его раньше, и он работает.
Кто-то знает, что случилось? Или кто-то знает другой способ удалить «Удаленное видео» из плейлиста с помощью Python + Youtube API v3?