Google Drive「打开方式」报错Error 400: redirect_uri_mismatch求助
解决Error 400: redirect_uri_mismatch问题
核心原因
Google授权服务器检测到请求的回调URI与你在OAuth客户端中配置的授权重定向URI不匹配,因此直接拦截了请求——这就是你没收到/GD-open请求的根本原因,请求根本没到达你的服务器。
分步解决方案
补全OAuth客户端的重定向URI:
你当前大概率只填了相对路径/GD-open,必须配置完整的绝对URL,示例:https://你的生产域名.com/GD-open # 本地测试专用(仅localhost允许HTTP) http://localhost:8080/GD-open注意:公网域名必须用HTTPS,Google不接受公网HTTP的重定向URI;URI严格区分大小写、协议、端口,必须完全一致。
同步Drive UI集成的回调URL:
在Drive集成的「打开方式」配置中,回调URL必须和OAuth客户端里的重定向URI完全一致,不能用相对路径,要填完整的绝对地址。验证客户端配置是否生效:
修改OAuth客户端配置后,务必点击页面底部的「保存」按钮;确认你代码中使用的客户端ID,和Google Console里配置的客户端ID是同一个(别搞混测试/生产环境的客户端)。本地测试的额外处理:
本地开发直接用localhost的HTTP地址即可;如果需要公网测试,用ngrok之类的工具生成HTTPS映射地址,把这个地址同步配置到OAuth客户端和Drive集成中。清理浏览器缓存:
清除浏览器的Cookie和缓存,避免旧的授权会话缓存了错误的URI信息。
内容的提问来源于stack exchange,提问作者Pink
相关产品推荐
相关产品推荐

