【HMS Core】Health Kit Android基础能力授权后,在使用扩展能力是否还要重新授权的问题

发布时间 2023-06-29 17:05:33作者: Mayism123
【问题描述】

1、Android基础能力授权后,在使用扩展能力是否还要重新授权?

2、一个华为账号授权了,切换一个账号登录是否还需重新拉取授权页面?华为账号被切换了开发者怎么知道?

 

【解决方案】

1、如果扩展能力使用到的权限,已经使用基础能力中的授权方式做了授权,那么扩展能力就不需要重新授权了,反之,扩展能力中授权了基础能力所需要的权限,那么也不需要在调用基础能力的授权,他们使用的都是华为账号进行的授权,只是基础能力对华为账号进行了一层封装。

以获取步数为例,基础能力和扩展能力中的权限是有区别的:

基础能力中的步数读权限是“https://www.huawei.com/healthkit/step.read”

cke_5242.png​​扩展能力中获取步数需要的权限是:"https://www.huawei.com/healthkit/extend/sport.read"

cke_6128.png​​

因此在调用授权时,可以参考以下方式进行授权,如果扩展能力和基础能力使用到的权限一致,仅填写一个即可:

2、需要重新进行授权。

在退出当前账号,切换为其他账号时,当前账号的授权会失效,调用相关接口时,会报鉴权失败的错误码。

基础能力鉴权失败错误码为50005:

错误码:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/hihealthstatuscodes-0000001050089560#section10673269124

扩展能力鉴权失败错误码为1001:

错误码:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/extended-errocode-0000001053256958