Python:Youtube DATA API循环刷新播放列表

我的YT数据API有问题。我有一个循环,该循环从播放列表中获取一个videoid,请下载该视频并将其从播放列表中删除。 但是在下一个循环中,程序希望下载相同的视频,因为再次执行的列表会返回,因此视频不会被删除(但实际上是)。 有没有什么方法可以刷新播放列表,而无需在每个循环中都进行OAuth?

while True:
    request = youtube.playlistItems().list(
        part="contentDetails",maxResults=1,playlistId="myPlaylistksdjfksjdfks"
    )
    response = request.execute()
    test = response['items']
    test2 = test[0]
    idvid = test2['id']
    test3 = test2['contentDetails']
    videoid = test3['videoId']

    videourl = 'https://www.youtube.com/watch?v=' + videoid

    ydl_opts = {
        'format': 'bestaudio/best','postprocessors': [{
            'key': 'FFmpegExtractAudio','preferredcodec': 'mp3','preferredquality': '192',}],}
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([videourl])

    delquest = youtube.playlistItems().delete(
            id=idvid
        )
    delquest.execute()

我希望有人能帮忙

coder002 回答:Python:Youtube DATA API循环刷新播放列表

也许您需要在删除条目和下一个查询之间留出时间。

与其一次要求一个数字,不如要求一个更大的数字,然后遍历所有结果视频ID。然后稍等片刻,让系统有时间进行响应,然后再试一次。

另外,为了避免重击服务器,每当播放列表查询返回零条目时,请休眠一段时间,然后再次检查(例如至少60秒)。

本文链接:https://www.f2er.com/3107161.html

大家都在问