Ruby on Rails访问Gmail遇redirect_uri_mismatch错误求解决方案
解决Gmail OAuth授权redirect_uri_mismatch问题
问题根源
你创建的是WEB类型的OAuth客户端ID,但gmail_cli使用的urn:ietf:wg:oauth:2.0:oob是原生/桌面应用专属的重定向URI,两者不兼容导致报错。
解决方案
方案1:创建原生应用类型的OAuth客户端ID(推荐)
- 进入Google云控制台的凭据管理页面,点击「创建凭据」→「OAuth客户端ID」
- 应用类型选择「桌面应用」(部分版本控制台可能显示为「其他」),完成创建后获取新的Client ID和Client Secret
- 重新运行命令:
gmail_cli authorize,输入新的原生应用凭据,访问生成的URL即可正常完成授权,获取有效Refresh Token
方案2:适配WEB类型客户端ID(需工具支持自定义URI)
- 若坚持使用WEB类型客户端ID,需先在Google云控制台的WEB客户端配置中,添加一个本地回调URI(比如
http://localhost:3000/auth/google/callback)到「已授权的重定向URI」列表 - 修改
gmail_cli的配置,将重定向URI设置为上述添加的地址,再重新执行授权流程。但注意gmail_cli默认使用oob模式,可能不支持自定义URI,因此优先推荐方案1
内容的提问来源于stack exchange,提问作者Mru
相关产品推荐
相关产品推荐

