YouTube API上传视频返回成功但网站端进度卡在0%无法查看
这种情况我之前帮好几个开发者排查过,API返回成功但后台卡0%其实大概率是YouTube异步处理机制的“滞后”,或者是上传过程中藏了小细节没做对,给你列几个必查的点:
先核实API返回的“成功”到底是啥状态:
别只看HTTP 200就松口气,一定要取返回里的id字段,再调用Videos.list接口查视频的真实状态:// YouTube Data API v3的TypeScript示例 const videoStatus = await youtube.videos.list({ part: 'status,processingDetails', id: '你的视频ID' });重点盯
status.uploadStatus:如果是uploaded,说明文件刚传完,YouTube还在排队处理;如果是failed,failureReason会直接告诉你原因(比如文件格式不兼容、大小超限);要是rejected,那大概率是内容触发了审核机制。断点续传的收尾步骤别漏:
如果你传的是大文件,用了resumable upload模式,最后一步必须发送空的PUT请求确认上传完成。要是这步没做,API可能提前返回“成功”,但YouTube后台根本没拿到完整文件,自然就卡0%了。可以去Google Cloud Console的API请求日志里,核对最后一个分片的请求是不是200 OK。服务账号的频道关联要做对:
要是用服务账号上传视频,一定要在YouTube Studio里把服务账号的邮箱添加成频道管理员(操作路径:YouTube Studio → 设置 → 权限 → 邀请用户,输入服务账号邮箱,选“管理员”角色)。不然上传的视频会被挂在服务账号的默认频道里,你自己的频道里看到的就是个卡0%的“幽灵”条目。临时故障就等一等,别着急重启上传:
有时候纯粹是YouTube后台处理队列堵了,尤其是高峰时段。先等15-20分钟再刷新看看,要是还卡,去YouTube Studio的“内容”页面 hover 这个视频,大概率会显示隐藏提示——比如版权检测卡住、视频编码不兼容(YouTube推荐用H.264视频编码+AAC音频编码)。批量上传别太密集,配额限流也会搞事:
要是一次性传好几个视频,别把API调用堆得太密。YouTube的配额限制不仅会返回429错误,隐性的限流也会让处理队列变慢,导致视频卡在0%。尽量控制在每分钟1-2个上传请求,或者用批量处理接口分散压力。
备注:内容来源于stack exchange,提问作者Resonance




