使用YT-api-v3更新YouTube视频描述时遭遇HttpError 403 Forbidden
以下是针对你遇到的403 Forbidden错误的排查和解决方向:
核对OAuth授权范围
确保你的授权流程请求了足够的权限,修改视频内容需要https://www.googleapis.com/auth/youtube.force-ssl或https://www.googleapis.com/auth/youtube权限。如果之前用的是只读权限(如youtube.readonly),就会触发禁止访问。
解决:修改脚本中的scopes参数,添加上述权限之一,然后删除本地存储的凭证文件(比如token.json),重新运行脚本完成授权。确认账号与视频的归属关系
用于OAuth授权的Google账号必须是目标视频的所有者,或者被添加为该视频的协作者并拥有编辑权限。非权限账号无法修改视频内容。
解决:登录YouTube Studio,检查目标视频的所有者信息,或确认当前账号是否有该视频的编辑权限。修正API请求参数
你的请求中part参数包含了id,但id不需要作为更新的资源部分,part只需指定要修改的snippet即可。冗余参数可能引发异常。
修正后的代码:youtube.videos().update(part="snippet", body=dict(snippet=videos_list_snippet, id=id_video)).execute()检查API控制台配置
确认Google API控制台中,YouTube Data API v3已启用,且OAuth2.0客户端ID的类型与你的脚本场景匹配(比如桌面脚本应选择“桌面应用”类型)。
解决:进入API控制台,找到YouTube Data API v3确认状态为“已启用”;检查OAuth客户端ID的配置类型是否正确。排查账号状态限制
如果你的YouTube账号存在违规记录或内容修改限制,API会返回Forbidden。
解决:登录YouTube Studio,查看账号是否有任何限制通知,按要求完成解除操作。
内容的提问来源于stack exchange,提问作者welew204

