Google API集成出现uri_redirect_mismatch错误的解决咨询
解决Google API uri_redirect_mismatch错误及PyCharm环境配置方案
一、直接修改quickstart.py添加www前缀
完全可以通过修改quickstart.py补全www前缀,步骤如下:
- 打开PyCharm里的quickstart.py文件,找到处理OAuth流程的
InstalledAppFlow相关代码段。 - 在代码中手动指定带www的重定向URI,示例如下:
from google_auth_oauthlib.flow import InstalledAppFlow # 定义API权限范围 SCOPES = ['https://www.googleapis.com/auth/drive.metadata.readonly'] # 初始化授权流,替换为你的带www的重定向URI flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, redirect_uri='http://www.your-redirect-domain.com/callback' ) # 后续授权代码保持不变 credentials = flow.run_local_server(port=0) - 修改完成后,回到Google OAuth授权控制台,添加这个完全一致的带www的URI,确保协议(http/https)、域名、路径和代码里的完全匹配。
二、PyCharm本地开发更省心的Google API启用方法
如果不想手动配置重定向URI,推荐两种适合新手的方式:
1. 用Google Cloud SDK快速授权
- 先安装Google Cloud SDK,打开PyCharm终端,输入命令:
gcloud auth application-default login - 命令执行后会自动弹出浏览器,按提示完成授权即可,无需手动在控制台配置重定向URI。授权后的凭证会自动保存在本地,代码可直接调用默认凭证:
from googleapiclient.discovery import build import google.auth # 获取默认授权凭证 credentials, project_id = google.auth.default(scopes=SCOPES) # 构建API服务实例 service = build('drive', 'v3', credentials=credentials)
2. 创建桌面应用类型的OAuth客户端ID
- 登录Google Cloud控制台,进入「API和服务」→「凭据」页面,点击「创建凭据」→「OAuth客户端ID」。
- 应用类型选择「桌面应用」,填写任意名称后点击创建,系统会自动生成适配本地开发的重定向URI,无需手动添加。
- 下载生成的
credentials.json文件,放到PyCharm项目根目录,直接运行quickstart.py的默认代码即可,不会出现URI不匹配问题。
三、关键注意点
- 重定向URI是严格匹配的,哪怕多一个斜杠、大小写不一致,都会触发错误,必须保证代码与控制台中的URI完全一致。
- 本地开发优先选择桌面应用客户端ID或gcloud授权,避免手动配置URI的麻烦;线上部署时,务必同步更新代码和控制台中的URI。
内容的提问来源于stack exchange,提问作者Muhammad Wissam
相关产品推荐
相关产品推荐

