如何获取华为运动健康服务授权码并调用Rest API访问数据?
华为运动健康服务(HUAWEI Health Kit)允许三方生态应用在获取用户授权后,通过REST API接口访问数据库,读取华为和生态伙伴开放的运动健康数据或写入数据到华为运动健康服务,为用户提供更加个性化的健康改善服务。如运动类App在获取授权码后可以读取华为用户的心率、步数等运动数据,最终给用户提供健康建议。
1. 申请帐号服务和申请运动健康服务
Health Kit需要用户登录和授权,需要先申请帐号服务,可以在申请帐号服务的同时创建应用,也可以为已经创建的应用开通帐号服务。创建成功后,可以在帐号服务列表里查看已创建的应用,点击条目能查看到的详细信息如下图所示。其中的APP ID,APP SECRET和回调地址后面会用到。

2. 获取授权码code
相比于其他Kit的REST API,Health Kit使用前需要获得授权码登录华为帐号后获取到授权码,多了一个获取授权码Code的步骤。
开发指南对授权码登录做了详细介绍,此处共有client_id,response_type,redirect_uri和scope共四个必传字段,其中client_id, 是在创建应用成功后自动生成的APP ID。redirect_uri 是申请帐号服务步骤中填写的“回调地址”。
在用户输入华为帐号登录授权之后,网页浏览器会跳转到redirect_uri对应的链接,并且把所需要的授权码code作为参数追加在链接后面。

看一下官网给出的示例请求,在电脑或手机浏览器中打开上述链接,都会显示如下的华为帐号登录和授权页面。

登录授权成功之后浏览器会跳转如下链接

其中接口需要用到的授权码code就是链接中请求载荷参数code的字符串值。
需要注意的是:这边控制台中的code是urlencode编码前的字符串,浏览器中的code是urlencode编码后的字符串。
在后续步骤主要使用的是urlencode编码前的code的值。(浏览器中的code需要进行urlencode解码再使用)
接下来需要通过上面获取到的授权码code,获取access_token和refresh_token。
由于使用限制,接下来的步骤不能再使用官网demo的参数进行测试了,需要创建自己的应用。然后传入自己项目相关的参数,重复上述步骤获取授权码code。
创建的应用的相关参数,都可以在“应用服务”-“帐号”下面找到,如下是创建的一个测试应用的信息页面。

1.使用授权码Code获取AT
client_id,redirect_url需要和获取授权码code使用的一致。
code参数是urlencode编码前的code的值。
client_secret参数是上面应用信息里的APP SECRET。

2 .Refresh Token获取access_token

3.使用获取到的access_token测试数据相关API
由于我们上面登录授权时,申请了获取身高体重的权限,所以在此测试一下获取身高数据的接口。
参照“查询最新采样数据”的文档链接,按照文档中postman请求测试结果如下:

Head里面的参数:Authorization 字段值为: Bearer+‘空格’+ access_token值,形如:Bearer {access_token} ,x-client-id 的值需要和上方使用的client_id一致。
请求参数“dataTypeName”:“com.huawei.instantaneous.body_weight”在数据类型-体重-原子采样数据类型可以找到:
https://developer.huawei.com/consumer/cn/doc/development/HMSCore-References/latest-sampleset-0000001078273166

如果要同时查询多个数据,请求url示例如下:
https://health-api.cloud.huawei.com/healthkit/v1/sampleSets/latestSamplePoint?dataType=com.huawei.instantaneous.body_weight&dataType=com.huawei.instantaneous.blood_glucose
链接后拼接多个dataType参数即可。
了解更多详情>>
如何获取华为运动健康服务授权码并调用Rest API访问数据?的更多相关文章
- 【FAQ】申请华为运动健康服务授权的4个常见问题及解决方法
华为运动健康服务(HUAWEI Health Kit)提供原子化数据开放,在获取用户对数据的授权后,应用可通过接口访问运动健康数据,对用户数据进行增.删.改.查等操作,为用户提供运动健康类数据服务.这 ...
- Mate 40系列发布 搭载华为运动健康服务带来健康数字生活
10月30日,HUAWEI Mate 40系列国内发布会如期而至.Mate 40系列除了拥有强悍的性能.全能记录影像和突破性的交互之外,还搭载了全新升级的HMS Core,其中,Health Kit( ...
- 华为运动健康服务Health Kit 6.9.0版本新增功能揭秘!
华为运动健康服务(HUAWEI Health Kit)6.9.0版本新鲜出炉啦! 一文了解新增功能,快来一起加入Health Kit生态大家庭! 一.更丰富:睡眠呼吸记录健康数据开放 呼吸机是用于为患 ...
- 【FAQ】运动健康服务REST API接口使用过程中常见问题和解决方法总结
华为运动健康服务(HUAWEI Health Kit)为三方生态应用提供了REST API接口,通过其接口可访问数据库,为用户提供运动健康类数据服务.在实际的集成过程中,开发者们可能会遇到各种问题,这 ...
- 【FAQ】申请运动健康服务验证环节常见问题及解答
华为 HMS Core 运动健康服务(HUAWEI Health Kit)提供原子化数据开放.应用在获取用户数据授权后,可通过接口访问运动健康数据,对用户数据进行读写等操作,为用户提供运动健康类数据服 ...
- 吴太银:华为消费者云服务Cassandra使用场景与最佳实践
大家好,我是华为消费者云的吴太银. 我今天分享的主要是华为消费者云服务使用Cassandra的应用场景和最佳实践.我这个可能跟其他嘉宾分享的不太一样,因为前几个嘉宾讲的实际上对Cassandra原生的 ...
- Apache Oltu 实现 OAuth2.0 服务端【授权码模式(Authorization Code)】
要实现OAuth服务端,就得先理解客户端的调用流程,服务提供商实现可能也有些区别,实现OAuth服务端的方式很多,具体可能看 http://oauth.net/code/ 各语言的实现有(我使用了Ap ...
- 钉钉开发第三方H5微应用入门详细教程[ISV][免登流程][授权码][HTTP回调推送][识别用户身份][获取用户信息]
转载请注明原文地址:https://www.cnblogs.com/applerosa/p/11509512.html (by lnexin@aliyun.com 世间草木) 此教程注意点: 适用于第 ...
- Spring cloud微服务安全实战-5-6实现授权码认证流程(2)
授权服务器,返回给我一个授权码,这里我只需要把授权传回去就可以了.来证明我是这个服务器. URI的地址传和第一次的地址一样的,认证服务器会比,第一次跳转的请求和第二次申请令牌的请求redirect_u ...
- 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_06-SpringSecurityOauth2研究-Oauth2授权码模式-申请令牌
3.3 Oauth2授权码模式 3.3.1 Oauth2授权模式 Oauth2有以下授权模式: 授权码模式(Authorization Code) 隐式授权模式(Implicit) 密码模式(Reso ...
随机推荐
- [Rust] 变量的属性: 不可变(immutable), 可变(mutable), 重定义(shadowing), 常量(const), 静态(static)
[Rust] 变量的属性: 不可变(immutable), 可变(mutable), 重定义(shadowing), 常量(const), 静态(static) 变量的可变性 在 Rust 中, 变量 ...
- Inertial Explorer Xpress 学习笔记
KEY WORDS: Coordinate Updates (CUPTs) Zero Velocity Updates (ZUPTs) Google Protocol Buffer (GPB) 是一 ...
- 二: sql模式(sql_mode)
# sql_mode 1 介绍 sql_mode 会影响 MySQL支持的SQL语法以及它执行的数据验证检查.通过设置sql_mode,可以完成不同严格程度 的数据校验,有效地保障数据准确性. MyS ...
- Java 数组查找
1 //要找的数 - 数组中的第一个元素 / 最大的数 - 第一个元素 2 //数组的查找(线性查找 二分法查找) 3 //线性查找: 4 //equals 5 6 String dest = &qu ...
- 聚焦企业流程智能化发展新趋势,中国信通院2022 RPA创新产业峰会即将开启
机器人流程自动化(Robotic Process Automation,RPA)是数字时代的重要劳动力之一,流程的自动化.智能化运行是企业释放运营能效.提升客户服务水平的重要路径. 近年来,各行业对R ...
- Beckhoff 倍福 漏洞-整理(持续更新)
工控漏洞整理网站 http://ivd.winicssec.com/index.php/Home/Search/search.html?keyword=Beckhoff
- Vue.prototype.$app = this vscode ctrl 点击 不跳转
Vue.prototype.$app = this vscode ctrl 点击 不跳转 解决思路 src/types/vue.d.ts 里面写,具体还没解决,找到一篇 在js里面的 我这种直接将当前 ...
- 日常办公——Excel中重复打印标题的设置
打印预览时,所在数据行或列不能显示在同一页,在打印区域之外还有内容,为了方便阅读,可使用顶端标题行重复或左端标题行重复,具体方法如下: 按顺序操作,完成后点击确定即完成操作.
- Django使用本地css/js文件的基本流程
在网上看了很多说Django如何使用本地css/js的文章, 很多都是说的不是很清楚. 今天终于自己来验证一个能用的了, 记录下 在manager.py同层级下创建static文件夹, 里面放上cs ...
- Spring boot返回时间与MySql数据库中不相同问题及解决方法
最近做项目测试的发现,访问Url返回的时间与数据库中的不相同,环境是Spring boot+MyBatis+Mysql(阿里云服务器),经过一番折腾,得到了解决 问题描述 我是直接使用IDEA的数据库 ...