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

新创建的Google Places API密钥无效,请求技术排查

解决Google Places API提示"The provided API key is invalid"的问题

刚创建的API密钥却触发无效提示,结合你Logcat里的REQUEST_DENIED错误,大概率是配置环节的疏漏,咱们一步步排查:

1. 确认Places API服务已启用

新创建的API密钥默认不会自动启用任何Google服务,你需要:

  • 进入Google Cloud控制台,找到对应项目
  • 在API库中搜索Places API,确保它的状态是「已启用」(而非未启用或仅显示「管理」)

2. 检查API密钥的应用限制配置

如果给密钥设置了应用限制(比如Android应用限制),必须保证配置完全匹配:

  • 打开API密钥的编辑页面,查看「应用限制」板块
  • 若选择了「Android应用」,需确认:
    • 添加的SHA-1指纹是当前调试/发布版本的正确指纹(调试版可通过Android Studio执行app -> Tasks -> android -> signingReport获取)
    • 填写的包名和项目build.gradle中的applicationId完全一致
  • 测试阶段可以暂时将应用限制改为「无」,验证是否是限制配置导致的问题

3. 验证API密钥的引用正确性

你代码中使用@string/google_place_api引用密钥,需确保:

  • res/values/strings.xml中已正确定义该字符串,内容是完整的API密钥(无多余空格、换行)
  • 可临时改为直接写入密钥测试(上线前记得改回字符串资源):
    Places.initialize(getApplicationContext(), "你的完整API密钥");
    
    确认是否是资源引用环节出了问题

4. 排查Google Play服务兼容性

Logcat中的「The Google Play services resources were not found」提示,可能是版本兼容问题:

  • 检查Module级build.gradle的Places依赖版本,确保使用稳定版(比如implementation 'com.google.android.libraries.places:places:2.5.0')
  • 测试设备/模拟器需安装最新版Google Play服务,模拟器建议选择带Google Play的系统镜像

5. 确认账号账单状态

Google Places API属于付费服务(含免费额度),若账号未绑定有效支付方式,会直接拒绝请求:

  • 进入Google Cloud账单页面,确认已绑定支付方式且账号无欠费情况

另外,你代码里的setTypeFilter(typeFilters.get(0)),TypeFilter.values()中的部分类型可能需要额外配置,但这不是当前密钥无效的直接原因,先解决密钥问题后再调整即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 05:30:16