当前位置:网站首页>【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结
【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结
2022-06-10 12:38:00 【51CTO】
华为 运动健康服务(HUAWEI Health Kit)为三方生态应用提供了REST API接口,通过其接口可访问数据库,为用户提供运动健康类数据服务。在实际的集成过程中,开发者们可能会遇到各种问题,这里我们将典型问题进行分享和总结,希望为其他遇到类似问题的开发者提供参考。
1. 注册订阅通知能力后,连通性检查失败
在注册成为订阅者后,测试连通性检查回调通知地址时,提示“连通性检查失败,连通性检查响应非204”。
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_数据](https://s9.51cto.com/images/blog/202206/10092907_62a29e63cc3a127958.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
原因分析:
在回调通知地址可以访问的情况下,需要开发者确认订阅的回调通知地址的HTTP状态码是否为204,否则将返回404表示回调地址连通性检验失败。 参考 订阅数据文档
解决方案:
检查链接是否可用,且返回的状态码是否为204。
2. 采样数据统计接口返回的步数总和与获取步数明细数据后自己计算的总和不一致
用 采样数据统计查询接口获取步数总和
统计查询接口:https://health-api.cloud.huawei.com/healthkit/v1/sampleSet:polymerize 请求参数:
最终返回的步数结果为7118
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_开发者_02](https://s4.51cto.com/images/blog/202206/10092907_62a29e63c7ea171876.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
用 采样数据明细查询接口获取步数明细,并计算总和
明细查询接口:https://health-api.cloud.huawei.com/healthkit/v1/sampleSet:polymerize 请求参数:
根据返回的结果计算的步数总和为6280  【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_开发者_03](/img/91/b12f835d762960f7d4461724f39afb.png)
通过数据可以看出,在时间段相同的前提下,采样数据统计接口返回的步数总和与根据步数明细计算的总和是不一致的。
原因分析:
是明细数据和统计数据不同的机制导致的。明细数据和统计数据是分开上报的,由于各种原因,明细数据可能会有丢失或延迟,导致两种数据不能完全匹配。 其次,在统计一天的数据时,聚合条件为以下参数时(见下图),返回的是上报的统计数据,而不是通过明细数据计算的数据。  【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_开发者_04](/img/4e/4f0c186840c3f47d2626c85cce3b90.png)
解决方案:
采样数据统计查询时,按时间聚合,传入groupByTime参数,groupByTime中设置duration参数。 请求参数:
最终返回的结果是6280,与根据步数明细计算的总和一致。
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_开发者_05](/img/ae/1bc171dfc67329736b40008df2224d.png)
3. 错误码403,错误信息“Insufficient Permission: Request had insufficient authentication scopes.”
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_数据_06](/img/4a/6d9d418e66733b5f3d11e88c8fcd28.png)
原因分析:
403为拒绝请求,主要是scopes权限不足,导致拒绝请求。
解决方案:
(1)检查联盟卡片中是否申请了相关权限。
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_开发者_07](/img/96/a5d98c8675f89cf0499bd2d3ed3f7f.png)
(2)检查认证鉴权时是否传入了申请的权限,且是否在授权页面进行了同意授权。  【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_数据_08](https://s3.51cto.com/images/blog/202206/10092907_62a29e63d6c1a60547.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
认证鉴权时是否传入了申请的权限 授权界面是否勾选了权限
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_数据_09](/img/73/c6c4c0d92e5adb2e831ea4a0290ee9.jpg)
4. 错误码400,错误信息“Insufficient Permission: Request had insufficient authentication scopes.”
案例:查询步数的采样数据明细 参数说明: Access Token:根据首次认证鉴权的code码生成。 首次认证鉴权的时间(第一次生成code码的时间):2022年5月7日上午8点左右。 采集数据的起始时间: 开始时间:2022-05-06 00:00:00(1651766400000) 结束时间:2022-05-06 12:00:00(1651809600000) 具体请求,见下图:
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_解决方案_10](/img/17/360eb6e85bddd145006c677665aa5a.png)
响应结果:
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_解决方案_11](https://s8.51cto.com/images/blog/202206/10092907_62a29e63ddbde74398.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
原因分析:
查询数据时,出于对用户数据的保护,只允许开发者查询在用户授权之后的数据。如果需要查询用户授权前的数据,开发者需要获取到“读取历史数据”权限的授权,如果用户未授予此权限,开发者在查询数据时设置的起始时间若早于用户授权时间,则起始时间将自动修正为用户首次授权的时间,这将导致查询错误(code:400,message: “Invalid startTime or endTime.”)或仅能查询到用户授权时间后的数据,与设置的起始时间不一致。 拿问题中的例子来说,由于用户未授予“读取历史数据”的权限,在开始时间为5月6日,首次授权时间为5月7日的情况下,开始时间会自动修正为首次授权时间,也就是5月7日,这就导致修正后的开始时间晚于了结束时间,因此才会返回了错误码400,错误信息"Invalid startTime or endTime."。
解决方案:
(1)检查Health Kit 联盟卡片上是否申请了“读取历史数据”权限,此权限在服务器应用中可见
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_解决方案_12](https://s5.51cto.com/images/blog/202206/10092907_62a29e63d17f435597.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
(2)生成授权码code时, 在scope中添加"https://www.huawei.com/healthkit/historydata.open"权限,供用户在登录华为帐号之后为应用授予“读取历史数据”。 授权之后查询的数据:
 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结_解决方案_13](https://s6.51cto.com/images/blog/202206/10092907_62a29e63d874549469.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
了解更多详情>> 访问 华为运动健康服务联盟官网
访问 华为运动健康场景解决方案
获取 华为运动健康服务开发指导文档
边栏推荐
- Mobile phone manufacturers "go back to their ancestors", only apple said no
- Ad-pcb schematic diagram learning (1)
- 【移动机器人】轮式里程计原理
- 通过反射获取枚举值
- H5 pop up prompt layer - top, bottom, left and right center
- C # balanced weight distribution
- Shadergraph - Crystal
- Baidu programmers were sentenced to nine months for deleting the database. The one click unbinding function of the mobile phone number was released. Twitter compromised with musk again. Today, more bi
- 2022 Zhejiang provincial competition
- Request to obtain the IP address of the request server
猜你喜欢

Use soapUI tool to generate SMS interface code

Start with interpreting the code automatically generated by BDC, and explain the trial version of the program components of sapgui

DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM 论文阅读

Mobile phone manufacturers "go back to their ancestors", only apple said no

TIDB 初級課程體驗 8 (集群的管理維護, 添加一個TIKV節點)

Shadergraph - Crystal

百度程序员删库被判9个月,手机号一键解绑功能发布,推特再向马斯克妥协,今日更多大新闻在此...
![VDO-SLAM源码阅读笔记[2] local optimization和global optimization](/img/01/7ce7113737d9799ac2684788d9f08d.jpg)
VDO-SLAM源码阅读笔记[2] local optimization和global optimization

Driver. JS - open source and independent interactive guidance tool library for web novices, powerful and highly customizable

Give root password for maintenace (or press Control-D to continue):解决方法
随机推荐
【FLinlk】Flink小坑之kerberos动态认证
JS translates Arabic numerals into Chinese capital figures, JS converts figures into capital amounts (sorting)
request获取请求服务器ip地址
TIDB 初级课程体验 8 (集群的管理维护, 添加一个TIKV节点)
Sparkstreaming real-time data warehouse question & answer
Vdo-slam source code reading notes [2] local optimization and global optimization
DynaSLAM II: Tightly-Coupled Multi-Object Tracking and SLAM 论文阅读
六石编程学:以文字处理的位置,谈谈命名
Software project management 6.10 Cost budget
(5) Class, object and class file splitting operation (2)
Minimalist random music player
STM32F407学习笔记(1)-EXTI中断事件与NVIC寄存器
SAP Field Service Management 和微信集成的案例分享和实现介绍
如何才能把团队给带解散。。。
In June, 2022, China Database ranking: tidb made a comeback to win the crown, and Dameng was dormant and won the flowers in May
MAX3051的can芯片的学习
colmap源码阅读笔记[1] threading.cc
Count the number and average value of natural numbers whose sum of bits within 100 is 7
CMakeLists. Txt how to write
JTAG to Axi master debugging Axi Bram controller