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

React Native Expo中Google登录报invalid_request错误求助

解决Expo + React Native Google登录Error 400: invalid_request问题

针对你遇到的Google登录400错误,以下是几个关键排查和修复步骤:

  • 添加正确的重定向URI到Google OAuth客户端
    错误信息里的redirect_uri=exp://x.x.x.x:8081必须添加到Google控制台对应安卓OAuth客户端的授权重定向URI列表中。进入Google控制台→你的项目→API和服务→凭据→找到目标安卓客户端ID→编辑→在"授权重定向URI"栏填入这个exp://开头的地址并保存。

  • 确认开发环境的SHA-1指纹正确
    Expo开发模式使用的SHA-1和生产打包环境的不同,别混淆了。执行以下命令获取开发环境的SHA-1:

    expo credentials:manager
    

    选择Android平台,查看"Debug Signing Credentials"下的SHA-1值,将其更新到Google控制台的安卓客户端配置中,替换之前可能填错的指纹。

  • 显式指定redirectUri参数
    在Google.useAuthRequest里手动指定redirectUri,确保和请求中的地址完全一致:

    const [request, response, promptAsync] = Google.useAuthRequest({
      androidClientId: "x.-x.apps.googleusercontent.com",
      redirectUri: "exp://x.x.x.x:8081" // 替换成你实际的redirect_uri
    });
    
  • 检查OAuth同意屏幕的测试用户设置
    如果你的OAuth同意屏幕处于测试状态,只有添加到"测试用户"列表中的Google账号才能登录。确认你用来测试的账号已被加入列表,否则会触发权限错误导致invalid_request。

  • 清除缓存并重启服务

    • 用expo start -c命令清除Expo缓存后重启开发服务器
    • 清空手机上Expo Go应用的缓存
    • 重新生成Google OAuth客户端ID,替换代码中的androidClientId后再测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 10:07:35