当前位置: 首页 > 后端技术 > Java

【FAQ】申请华为运动健康服务授权的4个常见问题及解决方法

时间:2023-04-01 16:44:39 Java

[FAQ]4申请华为健康服务授权健康数据常见问题及解决方法,进行用户数据的增删改查等操作,为用户提供运动健康数据服务。在本文中,我们总结了开发者提出的典型授权相关问题,并提供了参考解决方案,希望能为其他遇到类似问题的开发者提供参考。1、AndroidApp无法调用HealthKit授权,HealthKitAuthResult结果授权失败statusCode:6003是什么原因?“6003”为HMSCoreSDK框架报错。当证书指纹校验-签名证书指纹错误时,返回6003错误码。此时需要按照以下两步检查apk中配置的签名证书是否正确。Step1.检查申请相关服务时是否配置了正确的证书指纹。打开应用的APK,解压“META-INF”文件夹,在其中获取“CERT.RSA”文件,通过keytool-printcert-fileMETA-INF/CERT.RSA命令打印签名证书信息。Step2、登录AppGalleryConnect,点击“我的项目”,选择要操作的项目,进入项目页面选择应用,查看“SHA256证书指纹”中配置的信息是否与步骤一致1在“项目设置>常规”中。指纹匹配。更多HMSCoreSDK框架错误码请参考官网文档。2、调用接口返回错误码50005“未知认证错误”是什么原因?调用端侧接口返回50005错误码,请您做如下检查:(1)授权操作前,请确保您在联盟卡中申请读写的运动健康数据审核通过。(2)应用拉起授权页面时,显示给用户可选授权的数据需要包含在联盟卡认可的运动健康数据中。(3)应用可操作的用户数据为联盟卡认可的数据类型读写权限与用户在授权页面勾选的数据类型读写权限的交集。(4)HMS会缓存Scope权限信息24小时。如果出现此错误,则可能是由缓存引起的。在手机“应用管理”中清除“HMSCore”的缓存和数据。前往“华为帐号>隐私中心>控制访问权限”取消应用授权,然后重新打开应用登录华为帐号申请授权。3.获取token报20022(invaliddirect_uri),大概是什么原因?错误码20022表示redirect_uri格式校验失败。建议做以下检查:(1)使用redirect_uri获取token时,填写的redirect_uri需要与申请账户服务时在“产品服务>账户>回调地址”中填写的一致-设置账户服务信息。(2)redirect_uri需要进行URLEncoded。注:用户在授权页面同意授权后,OAuth授权服务通过回调地址redirect_uri向应用返回响应值授权码Code。此时返回经过URLEncode编码后的授权码,可以直接使用。使用Postman请求时,body使用x-www-form-urlencoded时,使用前需要解码code,即URLDecode编码;当body使用raw格式时,code可以不解码直接使用。更多HUAWEIIDREST错误码信息参考文档认证示例参考文档4.我的应用需要获取用户最近一次跑步的运动时间、卡路里消耗、配速、平均心率、步数数据。申请HealthKit时需要申请运动健康数据中心率数据的权限吗?还是我只需要申请运动记录数据许可?代码段的Scopes应该申请什么权限?如果您的应用需要在运动健康App上读取运动记录卡片中的数据,您首先需要了解运动记录数据的开启包括两部分权限:(1)运动记录汇总数据的权限名称权限联盟卡申请??:运动记录数据>Scope读取用户活动记录数据权限:AndroidSDK访问:Scopes.HEALTHKIT_ACTIVITY_RECORD_READREST访问:https://www.huawei.com/health...(Scope权限URL)获取跑步运动记录举个例子,当你的应用需要获取用户跑步运动记录中的距离统计、卡路里统计、步数统计等采样统计时,由于采样统计数据类型是运动记录汇总数据的一部分,你只需要需要申请用户的运动记录数据读取权限。(2)动作记录关联的原子采样数据权限需要每个原子采样数据类型对应的OAuth权限。以跑步记录为例,如果您的应用需要获取GPS详情、步幅详情、海拔详情等与跑步记录相关的数据,您还需要每个原子采样数据类型对应的OAuth权限。原子采样数据类型对应联盟卡应用的权限名称和范围权限,详见联盟文档数据类型章节:AndroidSDK接入REST接入>>访问华为运动健康官网服务联盟和华为开发者联盟官网获取开发指导文件华为移动服务开源仓库地址:关注我们GitHub和Gitee,了解HMSCore最新技术资讯~