【AGC】HarmonyOS鸿蒙Next中小失误引起“大麻烦”
【问题背景】
HarmonyOS鸿蒙Next开发者的应用需要调用Publishing API的查询应用信息接口。按照文档中的要求,需要获取先创建clientid和获取access token。
以下是请求的参数:
client_id: 10*************8
Content-Type: application/json
Authorization: Bearer ******
可是总是返回"205524993, “msg”: "client token auth failed"的错误。
【问题分析】
- 开发者的access token获取方法没有问题也没有过期,那么出现该问题一般就是clientid有问题,下面是clientid的创建方法:
登录AGC,选择用户与访问,选择左侧导航栏的“API密钥 > Connect API”,点击“创建”,此处项目必须选择N/A,角色选择管理员,否则是有可能出现205524993的错误。
- 在开发者检查了自己的项目和角色后确认创建无误,然后又确认了创建的clientid是与请求中的clientid也是一致的。这个就比较奇怪了,随后向开发者要来了他的完整请求,我们可以自己测试一下。在拿到接口地址时发现了问题所在,下面是完整请求:
接口地址:https://connect-api.cloud.huawei.com/api/publish/v2/app-info?appid=1012******5008
client_id: 1012******5008
Content-Type: application/json
Authorization: Bearer ******
- 接口地址后本应填写应用的appid,结果填写了和cilentid一样的数字,所以接口自然不能通过这个不存在的appid来查询应用信息,clientid与appid也肯定是对应不上的,所以会出现报错,当开发者填写了正确的appid后,接口便能正确的返回应用信息了,问题解决。
【解决方案】
当调用查询应用信息、更新应用基本信息的接口出现205524993的错误时,需要注意以下几点:
- 创建API客户端的clientid和clientsecret时,需要以管理员的角色创建,项目选择N/A。
- 请求的clientid要与创建API客户端的clientid一致。
- 请求的接口地址后跟随的appid必须是本应用的appid。
【经验总结】
appid、cilentid注意区分
【相关参考】
查询应用信息接口文档:
创建API客户端的文档:
更多关于【AGC】HarmonyOS鸿蒙Next中小失误引起“大麻烦”的实战教程也可以访问 https://www.itying.com/category-93-b0.html
都配置对了,还报错!
header 值
client_id=13760885**880
Authorization=Bearer ${eyJraWQiOiJ4ZTVhNkhmdnRzdWxNTm4zaXZlaGh2Y1Y1cnVhbjljZiIsInR5cCI6IkpXVCIsImFsZyI6IkhTMjU2In0.eyJzdWIiOiIxMzc2MDg4NTkzOTEwNTA2ODgwIiwiZG4iOjEsImNsaWVudF90eXBlIjoxLCJleHAiOjE3MTA0ODgyNjUsImlhdCI6MTcxMDMxNTQ2NX0.vfL_VhOkqX_OUAPY9Lc3i3q2BnvcudEUI2ASA-IQ5}
提示
{
"ret": {
"code": 205524993,
"msg": "client token auth failed"
}
}
更多关于【AGC】HarmonyOS鸿蒙Next中小失误引起“大麻烦”的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
建议您通过在线工单系统进行描述问题,会有专人答复。
https://developer.huawei.com/consumer/cn/support/feedback/#/add/89?level2=9016
学习
在HarmonyOS鸿蒙Next开发中,即使是小失误也可能引发严重问题。例如,未正确处理资源释放可能导致内存泄漏,影响系统稳定性;错误的API调用可能引发崩溃或功能异常;配置文件的微小错误可能导致应用无法启动。因此,开发过程中需严格遵循编码规范,进行充分的单元测试和集成测试,确保代码质量。同时,利用AGC(AppGallery Connect)的监控和诊断工具,及时发现并修复潜在问题,避免小失误演变为大麻烦。