求助:Python集成Google Sign In遇redirect_uri_mismatch 400错误
解决Google Sign In集成中的Error 400: redirect_uri_mismatch问题
问题原因
你代码中使用flow.run_local_server(port=0)时,系统会随机分配一个可用端口,实际重定向URI会是类似http://localhost:xxxx/,与你在Google Console配置的http://localhost:8000/不匹配,导致错误。
解决步骤
1. 修改代码指定固定端口
将代码中启动本地服务器的部分改为指定8000端口,确保与控制台配置一致:
else: flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) # 指定固定端口8000,匹配Google Console中的重定向URI creds = flow.run_local_server(port=8000)
2. 确认Google Console重定向URI配置
- 进入Google Cloud Console对应项目,导航至API和服务 -> 凭据
- 找到你的OAuth 2.0客户端ID,确认重定向URI已设置为
http://localhost:8000/
3. 清理旧凭据文件
删除项目目录下的token.pickle文件,旧凭据包含错误的重定向信息,需要重新生成新的访问令牌。
完成以上步骤后重新运行脚本,即可正常完成授权流程。
内容的提问来源于stack exchange,提问作者ElayA
相关产品推荐
相关产品推荐

