华为HMS Core获取token失败报907135003 client api invalid如何解决
HMS Core Token获取失败 907135003错误排查方案
异常信息
I am facing get token failed, com.huawei.hms.common.ApiException: 907135003: client api invalid
错误码907135003的核心触发逻辑是客户端API合法性校验未通过,所有和客户端配置、参数、环境不匹配的问题都会抛出该错误,具体诱因和对应解决方法如下:
常见诱发原因
- 本地应用签名证书的SHA256指纹,与AppGallery Connect(以下简称AGC)后台配置的指纹不一致
- 本地集成的
agconnect-services.json配置文件版本过旧、存放路径错误,导致接口读取到的appid、api_key等核心参数和后台不匹配 - 调用获取Token接口时传入的参数错误,比如硬编码的appId写错、申请的权限scope未在AGC后台开通对应服务
- 测试设备上安装的HMS Core(华为移动服务)版本过低,不支持当前集成SDK版本的API规则
可行解决步骤
- 校准签名指纹配置
- 提取当前打包所用的debug签名、release签名文件的SHA256值;如果应用上架华为应用市场时开启了应用重签能力,还要额外提取应用市场自动生成的分发签名SHA256值
- 登录AGC控制台进入对应应用的设置页,将所有用到的签名SHA256值添加到「签名证书指纹」配置项,保存后等待2分钟左右让配置全局生效
- 更新本地配置文件
- 在AGC控制台应用设置页重新下载最新版
agconnect-services.json - 删除项目内旧的配置文件,将新文件放到Android项目的app模块根目录下,不要错放到项目根目录
- 检查build.gradle配置,确认项目级、应用级的AGC插件已正确引入,否则配置文件不会被编译到安装包中
- 在AGC控制台应用设置页重新下载最新版
- 核对接口调用逻辑
- 避免硬编码appId参数,优先从配置文件中自动读取应用标识,减少手动输入错误
- 核对获取Token时传入的scope参数,确认对应scope所需的HMS Core服务已在AGC后台开通,且已完成服务协议签署
- 校准测试设备环境
- 打开设备上的华为应用市场,将HMS Core更新到最新正式版本
- 卸载设备上已安装的测试包,清除应用残留缓存后重新安装新打包的测试包,避免旧缓存配置干扰校验
- 不要使用魔改ROM、虚拟环境中篡改过的非官方HMS Core版本测试,这类环境会破坏原生接口校验逻辑
内容的提问来源于stack exchange,提问作者Pavan Ghanate
相关产品推荐
相关产品推荐

