Huawei Push Kit调用getToken抛出ApiException 6005权限未授权如何解决
华为推送服务getToken未授权异常解决方法
异常触发场景
执行如下代码时抛出未授权异常,此前功能运行正常,AppGallery Connect前台配置已核对无误:
String appId = AGConnectServicesConfig.fromContext(this).getString("client/app_id"); String hmsToken = HmsInstanceId.getInstance(this).getToken(appId, DEFAULT_TOKEN_SCOPE);
核心原因
- 华为移动服务(HMS Core)本地缓存的鉴权信息过期,或应用近期更新签名后本地校验信息未同步
- AppGallery Connect后台服务绑定出现偶发同步失效,前台配置展示正常但后台未生效
- 接口调用时机早于AGConnect SDK初始化完成
- 测试设备网络存在拦截,无法正常访问华为鉴权服务器
解决方案
按优先级依次操作验证:
- 清理本地缓存重试:卸载设备上的现有应用,进入设置-应用管理找到HMS Core,清除存储数据后重新安装应用测试
- 刷新云端配置:在AppGallery Connect中关闭推送服务开关,等待10分钟后重新开启,下载最新的
agconnect-services.json替换项目内的对应文件,清理项目编译缓存后重新打包测试 - 调整调用时机:确认
getToken方法调用逻辑放在AGConnect初始化完成之后,避免提前调用触发鉴权错误 - 验证网络环境:切换测试设备到蜂窝移动网络,排除WiFi下的代理、防火墙拦截华为云接口的情况
- 核对签名信息:二次确认当前打包使用的签名文件SHA256指纹,与AppGallery Connect中配置的指纹完全一致
内容的提问来源于stack exchange,提问作者Nickola Jarjous
相关产品推荐
相关产品推荐

