使用API的PATCH请求更新YouTube视频隐私状态时遇404错误
解决YouTube API PATCH修改视频隐私状态返回404的问题
针对你遇到的用PATCH请求修改YouTube视频隐私状态时返回404 Not Found的问题,即使视频ID有效、GET请求能正常获取信息,可从以下几个方向排查:
1. 确认权限范围是否正确
你当前使用的youtube.force-ssl权限范围仅用于强制SSL连接,无法满足修改视频状态的需求。修改视频隐私状态需要以下权限范围之一:
https://www.googleapis.com/auth/youtube.uploadhttps://www.googleapis.com/auth/youtubehttps://www.googleapis.com/auth/youtube.video.edit(最小权限,仅用于编辑视频)
重新生成包含上述有效编辑权限的Bearer令牌,再重试请求。
2. 验证令牌所属账号是否为视频所有者
公开视频的GET请求无需所有者权限即可获取信息,但修改操作必须由视频的所有者账号发起。确认你使用的Bearer令牌对应的Google账号是否是该视频的上传者/所有者——YouTube API有时会用404替代更准确的权限错误提示。
3. 尝试调整请求端点格式
虽然官方文档规定PATCH请求的视频ID放在请求体中,但部分场景下API可能需要将ID作为查询参数附加到端点后。尝试使用以下端点发起请求:
PATCH https://www.googleapis.com/youtube/v3/videos?part=status&id=rOWGJjUUZ6Q
请求体保持不变,测试是否能成功返回200。
4. 检查令牌有效性与过期时间
即使你之前验证过令牌有效,也可能存在令牌过期或权限未正确关联的情况。重新通过OAuth流程生成新的Bearer令牌,确保在生成过程中明确勾选了视频编辑相关的权限,再重新发送请求。
5. 排查请求体的潜在格式问题
虽然你的JSON请求体看起来格式正确,但可以用JSON校验工具确认没有隐藏的语法错误(比如不可见字符、换行符问题)。也可以尝试简化请求体,确保没有多余字段:
{ "id": "rOWGJjUUZ6Q", "status": { "privacyStatus": "unlisted" } }
内容的提问来源于stack exchange,提问作者Adesafi Parris
相关产品推荐
相关产品推荐

