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

Google OAuth2返回与配置提交不符的redirect_uri引发匹配错误

解决Google OAuth redirect_uri_mismatch问题

核心问题排查与修复

  • 修正授权参数格式:从你生成的授权URL能看到,response_type、client_id、scope等参数都是数组格式(URL编码后显示为%5B%27code%27%5D这类形式),但Google OAuth服务要求这些参数为字符串而非数组。你需要把代码中的参数值从列表改成单个字符串,示例如下:

    # 错误写法
    params = {
        'response_type': ['code'],
        'client_id': ['894308859100-7kdu4silhlsajesj69t1asrp3o6c5bik.apps.googleusercontent.com'],
        # ...其他数组参数
    }
    # 正确写法
    params = {
        'response_type': 'code',
        'client_id': '894308859100-7kdu4silhlsajesj69t1asrp3o6c5bik.apps.googleusercontent.com',
        'scope': 'https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/userinfo.profile',
        'state': 'Python-YouTube',
        'access_type': 'offline',
        'redirect_uri': 'http://127.0.0.1:8080'
    }
    

    数组格式的参数会导致Google解析异常,进而返回错误的重定向URI。

  • 补充配置重定向URI:在Google Cloud Console的OAuth客户端配置中,同时添加http://127.0.0.1:8080和http://localhost:8080。部分OAuth客户端库在本地运行时会自动将127.0.0.1转换为localhost,添加双地址可避免匹配问题。

  • 清理本地缓存:删除项目中生成的token.json或其他OAuth缓存文件,重新发起授权请求,避免旧配置干扰。

  • 检查代码中的URI替换逻辑:确认使用的OAuth库(如google-auth-oauthlib)是否存在自动替换redirect_uri的逻辑,若有则手动指定固定的http://127.0.0.1:8080。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:12:18