You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP开发者遇Google Drive API OAuth2重定向URI错误求助

解决Docker环境下Google Drive PHP API的OAuth2重定向URI错误

作为有多年编码经验的开发者,碰到这种“明明配置对了却报错”的情况真的太闹心了!尤其是Docker容器里的LAMP环境,localhost的特殊性很容易让人踩坑,我来帮你梳理几个容易忽略的关键点:

1. 确认Docker端口映射与外部访问URI匹配

Docker容器的localhost是容器内部的地址,外部(包括Google服务器)根本无法访问。你需要:

  • 检查你的Docker端口映射配置:比如你用docker run -p 8080:80 ...把容器的80端口映射到主机的8080端口,那么外部可访问的地址就是http://你的主机IP:8080
  • 把这个完整的外部地址+回调路径填到Google控制台的重定向URI里,比如http://192.168.3.10:8080/oauth2callback.php

2. 修正代码中的重定向URI

别再用localhost了!代码里的重定向URI必须和Google控制台完全一致,且是外部可访问的地址:

  • 找到示例代码里设置$redirectUri的地方,把它改成你实际的外部地址,比如:
    $redirectUri = 'http://192.168.3.10:8080/oauth2callback.php';
    
  • 确保没有拼写错误,比如大小写、末尾的斜杠(/)是否一致——这些细微差异都会导致报错!

3. 检查Google控制台的客户端配置细节

  • 确认你是在Web应用类型的OAuth客户端ID下配置的重定向URI,桌面应用类型的配置逻辑完全不同
  • 检查控制台里的URI是否和代码里的完全一致,哪怕多一个空格或者少一个字符都不行

4. 清除OAuth缓存

有时候旧的缓存会干扰新配置:

  • 删除示例代码生成的token.json文件(如果有的话)
  • 重新运行授权流程,确保新的重定向URI生效

5. 先验证回调页面的可达性

在浏览器里直接访问你的重定向URI(比如http://主机IP:端口/oauth2callback.php),如果打不开,说明Docker端口映射或者Apache/Nginx配置有问题——先解决服务器的外部访问问题,再处理OAuth的错误。

内容的提问来源于stack exchange,提问作者sloboy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:46:09