Python本地运行YouTube自动回复脚本OAuth redirect_uri_mismatch报错求解
YouTube评论自动回复脚本OAuth授权报错解决方案
你遇到的报错信息如下:
Error 400: redirect_uri_mismatch The redirect URI in the request, urn:ietf:wg:oauth:2.0:oob, can only be used by a Client ID for native application. It is not allowed for the WEB client type.该报错核心原因是OAuth客户端类型与请求使用的重定向URI不匹配。
一、应选择的OAuth应用类型
本地直接运行Python脚本的场景,不属于对外提供服务的Web应用,需申请**桌面应用(又称原生应用/Native App)**类型的OAuth客户端。
Web应用类型仅支持HTTP/HTTPS格式的公网可访问重定向地址,不支持urn:ietf:wg:oauth:2.0:oob这类离线授权专用的特殊重定向URI,因此你之前申请Web类型客户端会触发匹配错误。
二、本地运行的重定向URL配置
根据你的授权使用习惯,对应两种配置方案:
- 手动复制授权码模式:创建桌面类型OAuth客户端后不需要额外配置重定向URI,直接下载新生成的client secrets文件替换旧文件即可,Google官方Python OAuth库会自动匹配
urn:ietf:wg:oauth:2.0:oob这个默认离线重定向地址。 - 自动跳转本地回调模式:如果不需要手动复制授权码,希望授权后浏览器自动跳转到本地服务完成凭证获取,只需在桌面客户端的重定向URI配置列表中添加你脚本里指定的本地地址,例如
http://localhost、http://localhost:8080等,确保配置的地址和脚本中redirect_uri参数的取值完全一致即可。
注意事项
替换新的client secrets文件后,建议先删除本地之前生成的凭证缓存文件(通常默认命名为token.json或credentials.json),再重新运行脚本触发授权流程,避免缓存的旧凭证参数导致重复报错。
内容的提问来源于stack exchange,提问作者llu13701
相关产品推荐
相关产品推荐

