如何用200+个YouTube视频ID批量创建播放列表?
我太懂你这种崩溃的感觉了——200多个视频手动加播放列表根本不现实,之前试的方法要么卡50个上限,要么直接失效,甚至写的Python代码只成功加了第一个。下面给你几个靠谱的非手动方案,从官方API到零代码工具都有,帮你搞定批量导入:
一、官方YouTube Data API v3方案(最稳定无限制)
这是最可靠的方法,官方原生支持,只要按规则调用,完全可以处理200+视频的批量添加,还能避免第三方工具的安全风险。步骤如下:
准备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
编写批量添加脚本
这个脚本会自动把你的视频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代码问题
你之前的代码只添加了第一个视频,大概率是这几个原因:
- 没有循环遍历所有视频ID,只执行了一次添加请求
- 没有处理API单次最多添加50个的限制,一次性传入超过50个ID导致请求失败
- 授权环节有漏洞,后续请求没有拿到有效凭据
用上面的官方API脚本替换旧代码,应该就能解决这个问题。
内容的提问来源于stack exchange,提问作者user11105423
相关产品推荐
相关产品推荐

