You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用200+个YouTube视频ID批量创建播放列表?

我太懂你这种崩溃的感觉了——200多个视频手动加播放列表根本不现实,之前试的方法要么卡50个上限,要么直接失效,甚至写的Python代码只成功加了第一个。下面给你几个靠谱的非手动方案,从官方API到零代码工具都有,帮你搞定批量导入:

一、官方YouTube Data API v3方案(最稳定无限制)

这是最可靠的方法,官方原生支持,只要按规则调用,完全可以处理200+视频的批量添加,还能避免第三方工具的安全风险。步骤如下:

  1. 准备API授权

    • 去Google Cloud控制台创建新项目,启用「YouTube Data API v3」
    • 创建OAuth 2.0客户端ID,下载凭据JSON文件(命名为client_secrets.json)
    • 安装Python依赖:pip install google-api-python-client google-auth-httplib2 google-auth-oauthlib
  2. 编写批量添加脚本
    这个脚本会自动把你的视频ID分成每50个一组(API单次请求上限),循环添加到目标播放列表,还能处理授权持久化。示例代码:

    from googleapiclient.discovery import build
    from google_auth_oauthlib.flow import InstalledAppFlow
    from google.auth.transport.requests import Request
    import pickle
    import os.path
    
    # 权限范围:仅申请修改播放列表的必要权限
    SCOPES = ['https://www.googleapis.com/auth/youtube.force-ssl']
    PLAYLIST_ID = '替换成你的目标播放列表ID'  # 比如从播放列表URL里提取的字符串
    VIDEO_IDS = ['视频ID1', '视频ID2', ...]  # 把你的200+视频ID全部放这里
    
    def main():
        creds = None
        # 加载已保存的授权凭据(避免每次都登录)
        if os.path.exists('token.pickle'):
            with open('token.pickle', 'rb') as token:
                creds = pickle.load(token)
        # 无有效凭据时重新登录授权
        if not creds or not creds.valid:
            if creds and creds.expired and creds.refresh_token:
                creds.refresh(Request())
            else:
                flow = InstalledAppFlow.from_client_secrets_file(
                    'client_secrets.json', SCOPES)
                creds = flow.run_local_server(port=0)
            # 保存凭据供下次使用
            with open('token.pickle', 'wb') as token:
                pickle.dump(creds, token)
    
        youtube = build('youtube', 'v3', credentials=creds)
    
        # 按50个一组批量处理视频ID
        for i in range(0, len(VIDEO_IDS), 50):
            batch = youtube.new_batch_http_request()
            current_group = VIDEO_IDS[i:i+50]
            for video_id in current_group:
                # 构造单个视频的添加请求
                add_request = youtube.playlistItems().insert(
                    part="snippet",
                    body={
                        "snippet": {
                            "playlistId": PLAYLIST_ID,
                            "resourceId": {
                                "kind": "youtube#video",
                                "videoId": video_id
                            }
                        }
                    }
                )
                batch.add(add_request)
            # 执行当前组的批量请求
            batch.execute()
            print(f"已完成第{i//50 + 1}组,共添加{len(current_group)}个视频")
    
    if __name__ == "__main__":
        main()
    

    首次运行会弹出浏览器让你授权,授权后脚本会自动保存凭据,下次直接运行即可。如果遇到个别视频添加失败(比如视频私密、已删除),可以在代码里添加错误捕获逻辑,跳过失败的视频继续执行。

二、第三方工具方案(不用写代码)

如果不想折腾代码,可以试试这些零门槛的工具:

  • Chrome扩展:找用户评分高、下载量多的「YouTube批量播放列表导入」类扩展,这类工具会自动调用YouTube API处理批量添加,支持直接粘贴所有视频ID(或视频链接),选择目标播放列表即可完成导入,大部分都能突破50个视频的限制。
  • 在线播放列表管理工具:一些专门的YouTube播放列表网页工具,支持批量粘贴视频ID/链接,直接生成新播放列表或添加到现有列表。使用时注意只授予必要的播放列表修改权限,避免泄露账号信息。

三、修复你之前的Python代码问题

你之前的代码只添加了第一个视频,大概率是这几个原因:

  1. 没有循环遍历所有视频ID,只执行了一次添加请求
  2. 没有处理API单次最多添加50个的限制,一次性传入超过50个ID导致请求失败
  3. 授权环节有漏洞,后续请求没有拿到有效凭据
    用上面的官方API脚本替换旧代码,应该就能解决这个问题。

内容的提问来源于stack exchange,提问作者user11105423

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 18:02:38