如何获取华为运动健康服务授权码并调用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 ...
随机推荐
- nodejs内存泄漏概要分析
const heapdump = require('heapdump'); setTimeout( ()=>{ heapdump.writeSnapshot(`${process.cwd()}/ ...
- ASP.NET Core 选项
目录 1,选项接口 2,注入配置与IOptions 3,IOptionsSnapshot 首先要了解 ASP.NET Core 中的配置,请点击这里了解:https://www.cnblogs.com ...
- [Python] 子线程退出孙线程不退出
遇到了一个大坑! 如图,在子线程ThreadFunc退出之后,ThreadFunc2依旧在运行... 根本不会结束 但是官方文档中说明了,只要设置了daemon不为None 就能设置子线程是守护线程, ...
- mysql数据库表或行,被锁,杀死进程
-- 查询进行 SHOW PROCESSLIST; -- 删除进程 kill 22459; -- 查找正在进行的 select * from information_schema.innodb_trx ...
- Java static关键字的小练习
1 package com.bytezreo.statictest; 2 3 /** 4 * 5 * @Description static 关键字的使用 小练习 6 * @author Byteze ...
- 用CFF Explorer隐藏文件格式
1.首先我们加载两个PNG文件,可以看到 文件格式头部是一样的,我们如何将一个PDF文件格式改成PNG,修改之后的文件虽然含有图片的文件头格式,但是并不能打开. 将PNG的文件头复制写入到PDF文件头 ...
- 开源:基于mybatis和jpa的数据库安全加密脱敏插件,围观交流
开源:基于mybatis和jpa的数据库安全加密脱敏插件,围观交流
- Vue mixin 永远不要用!! 极品垃圾,后期维护就剩骂街了~!!
为什么 Vue mixin 永远不要用!! 极品垃圾,后期维护就剩骂街了~!! vscode 没有自动跳转 自己维护下看看,重构的时候,还得整个复写,相当于整个软件重写 F!!!
- vscode 合并分支 举例 master merge dev
举例 将 dev 开发线 合并到 master 1 确定你在dev线,将dev代码改动全部提交 2 切换master,确定是最新代码,不确定就pull下,选择合并分支,见上图 3 在下拉的提示框中选择 ...
- koa-generator - koa 脚手架
koa-generator - koa 脚手架 npm install -g koa-generator 创建 koa2 /tmp/foo && cd /tmp/foo 资料: 基于N ...