YouTube Data API上传视频授权报错Error 400: invalid_request
YouTube Data API 视频上传OAuth授权报Error 400: invalid_request排查方案
按以下优先级逐一排查即可解决:
- 核对OAuth客户端类型
执行命令带--noauth_local_webserver参数时走桌面端设备授权流,必须使用桌面应用类型的OAuth 2.0客户端,不能选择Web应用、移动端应用等其他类型,类型不匹配是该错误最高发诱因。 - 校验客户端配置与密钥文件
- 本地存放的
client_secret.json必须和当前使用的客户端完全对应,禁止混用其他项目的密钥文件,手动修改过文件的要检查JSON语法,不能有多余换行、引号缺失这类格式错误。 - 若OAuth客户端处于测试发布状态,必须将用来授权的Google账号加入项目测试用户列表,未入列表的账号发起的授权请求会直接被判定为无效。
- 桌面客户端的重定向URI必须保留默认的
urn:ietf:wg:oauth:2.0:oob,不要手动增删重定向地址。
- 本地存放的
- 确认API与权限配置
- 所属Google Cloud项目必须提前启用YouTube Data API v3,未启用API时所有授权请求会被直接拦截。
- 代码中配置的授权范围必须包含视频上传所需的
youtube.upload权限,不要漏填、错填权限项。
- 排查授权链接有效性
终端输出的授权链接如果因为自动换行被截断,复制时缺失client_id、scope、redirect_uri等必填参数,打开后必然报400错误。复制链接后先粘贴到纯文本编辑器检查,确认没有缺漏字符、没有多余空格后再访问,不要手动删除链接自带的access_type、response_type等参数。 - 清理旧缓存重试
删除脚本同目录下存储历史授权凭证的文件(文件名通常类似upload_video.py-oauth2.json),避免旧的错误缓存干扰授权流程,重新执行上传命令发起新的授权请求即可。
补充:如果使用Google Workspace企业账号授权,先确认账号管理员没有关闭该账号的YouTube访问权限,权限受限的企业账号也会触发该类授权错误。
内容的提问来源于stack exchange,提问作者Faraz H
相关产品推荐
相关产品推荐

