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

React Native配置Google API Key限制后接口报未授权错误

问题原因与解决方案

你遇到的授权报错本质是配置了移动端应用访问限制的Google API密钥,仅支持通过对应平台的官方Google SDK发起调用,直接构造原生HTTP请求无法自动携带应用身份校验信息,服务端无法验证来源合法性就会拦截请求,不需要你手动拼接特殊请求头,手动伪造的身份头也不会被服务端认可。

核心排查&修复点

  • 禁止直接用通用HTTP客户端(fetch、axios、OkHttp、URLSession等)手动拼接API URL发起请求
    这类纯HTTP请求不会携带你的Android包名+签名SHA-1、iOS Bundle ID的校验凭证,服务端收到的请求就会出现你日志里的empty referer标记,哪怕你在Google Cloud后台填的配置信息100%正确也会被拦截。
  • Android端校验规则
    必须接入对应Google服务的官方SDK,同时确认两点:
    1. 运行的安装包是用你在后台配置过SHA-1的签名证书打包的,debug调试时要额外把本地debug keystore的SHA-1也加到密钥的允许列表里,不要只配置发布证书的SHA-1
    2. 测试设备已安装正常运行的Google Play服务,SDK会自动和Play服务交互完成应用签名校验,自动生成合法的身份凭证附在请求中,无需手动配置任何请求头
  • iOS端校验规则
    同样必须接入对应服务的官方Google SDK,SDK会自动读取应用的Bundle ID,通过系统校验逻辑生成合法身份凭证传递给服务端,手动给请求加Referer或自定义包名头都无法通过校验。
  • 限制规则互斥排查
    不要给同一个API密钥同时配置移动端应用限制+IP限制/网页端HTTP referer限制,不同类型的访问限制互斥,同时开启时服务端会优先按IP/网页规则校验,必然会拦截移动端合法请求。

验证逻辑

你移除所有访问限制后接口可以正常调用,已经可以排除密钥错误、接口路径错误、网络连通性问题,故障100%来自调用方式不符合移动端密钥的校验要求,或者运行环境的签名/Bundle ID和后台配置不匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 23:42:18