【AGC】小失误引起“大麻烦”

【关键字】

Publishing API、应用信息接口、code": 205524993, "msg": "client token auth failed"

 

【问题背景】

开发者的应用需要调用Publishing API的查询应用信息接口。按照文档中的要求,需要获取先创建clientid和获取access token。

cke_269.png

以下是请求的参数:

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的错误。

cke_1313.png

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注意区分

 

【相关参考】

查询应用信息接口文档:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-References/agcapi-app-info-query-0000001158365045

创建API客户端的文档:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agcapi-getstarted-0000001111845114#section103mcpsimp

 欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

posted @ 2023-03-09 09:36  华为开发者论坛  阅读(85)  评论(0编辑  收藏  举报