设置Android应用限制后Google Cloud Translate API密钥无法使用
排查方案
- 最常见的遗漏项:添加Android应用限制后,所有发往Google Cloud API的请求必须手动添加两个请求头,缺少任一参数都会返回403:
X-Android-Package:值为你的应用applicationId,和控制台配置的包名完全一致X-Android-Cert:值为你的SHA-1哈希,需要去掉所有冒号、全部转为小写,比如控制台填写的AA:BB:11:22对应的值为aabb1122
- 核对控制台填写的SHA-1格式:控制台填写的SHA-1需要保留冒号、大写,直接粘贴keytool返回的结果即可,不要填成小写或者去掉冒号的格式
- 检查API密钥的多重限制规则:如果你的密钥同时配置了IP限制、网站限制、API范围限制,需要所有限制条件同时满足才能调用:
- 确认API范围限制中已经添加了「Cloud Translation API」到允许调用的列表
- 确认没有同时开启其他不匹配的限制规则
- 确认配置生效时间:控制台修改API密钥配置后,最长需要10分钟才会全局生效,修改完成后不要立刻测试
- 确认运行应用的签名匹配:如果你使用了多构建变体、多渠道包,需要确认当前运行的APK签名和控制台填写的SHA-1完全匹配,debug和release签名不同的话需要分别添加到限制列表
- 检查包名字段的一致性:控制台填写的包名必须和
applicationId完全一致,大小写、后缀都不能有差异,不要用Manifest里的package字段做对比,applicationId是唯一校验值
内容的提问来源于stack exchange,提问作者Alex Marasco
相关产品推荐
相关产品推荐

