Ошибка API данных YouTube останавливает выполнение (googleap. ошибки.HTTPError)

#python #error-handling #youtube-api #youtube-data-api

Вопрос:

У меня есть скрипт, который просматривает некоторые видео на YouTube и добавляет их в список воспроизведения:

 for page in pages:
   add_video_to_playlist(youtube,upsert_id,my_playlist)

def add_video_to_playlist(youtube_obj,video_id,yt_pl_id):
    request = youtube_obj.playlistItems().insert(
        part="snippet",
        body={
          "snippet": {
            "playlistId": yt_pl_id,
            #"position": 0,
            "resourceId": {
              "kind": "youtube#video",
              "videoId": video_id
            }
          }
        }
    )
    try:
        response = request.execute()
        print(response['snippet']['title'])
    except HttpError as err:
        return "Error: "   str(err)
 

Периодически я получаю неверный идентификатор видео, и выполнение останавливается с таким сообщением:

googleapiclient.errors.HttpError: <HttpError 404 when requesting https://youtube.googleapis.com/youtube/v3/playlistItems?part=snippetamp;alt=json returned "Video not found.". Details: "Video not found.">

Как я могу распечатать сообщение об ошибке, не выходя из цикла, чтобы продолжить выполнение до следующего видео в цикле?

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

1. Замените except HttpError as err: на except googleapiclient.errors.HttpError as err: ; в противном случае у вас есть from googleapiclient.errors import HttpError оператор где-то на верхнем уровне вашего сценария или даже прямо перед вашим for page in pages: циклом.