【AGC】小失误引起“大麻烦”
【关键字】
Publishing API、应用信息接口、code": 205524993, "msg": "client token auth failed"
【问题背景】
开发者的应用需要调用Publishing API的查询应用信息接口。按照文档中的要求,需要获取先创建clientid和获取access token。
以下是请求的参数:
client_id: 10*************8
Content-Type: application/json
Authorization: Bearer ******
可是总是返回"205524993, "msg": "client token auth failed"的错误。
【问题分析】
1、开发者的access token获取方法没有问题也没有过期,那么出现该问题一般就是clientid有问题,下面是clientid的创建方法:
登录AGC,选择用户与访问,选择左侧导航栏的“API密钥 > Connect API”,点击“创建”,此处项目必须选择N/A,角色选择管理员,否则是有可能出现205524993的错误。
2、在开发者检查了自己的项目和角色后确认创建无误,然后又确认了创建的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 ******
3、接口地址后本应填写应用的appid,结果填写了和cilentid一样的数字,所以接口自然不能通过这个不存在的appid来查询应用信息,clientid与appid也肯定是对应不上的,所以会出现报错,当开发者填写了正确的appid后,接口便能正确的返回应用信息了,问题解决。
【解决方案】
当调用查询应用信息、更新应用基本信息的接口出现205524993的错误时,需要注意以下几点:
1、创建API客户端的clientid和clientsecret时,需要以管理员的角色创建,项目选择N/A。
2、请求的clientid要与创建API客户端的clientid一致。
3、请求的接口地址后跟随的appid必须是本应用的appid。
【经验总结】
appid、cilentid注意区分
【相关参考】
查询应用信息接口文档:
创建API客户端的文档:
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh