如何获取华为运动健康服务授权码并调用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 ...
随机推荐
- 第一百零四篇:DOM事件流
好家伙,JS基础接着学, 1.事件流 页面哪个部分拥有特定的事件? 可以把页面想象成一个同心圆, 当你戳了其中的一点,其实你同时戳中了很多个圆 当你点击一个页面中的按钮,实际上你同时点击了这个 ...
- STM32标准库时钟树设置
STM32的系统时钟大致可以分为以下流程 1.外部晶振提供HSE高速外部时钟信号 2.HSE经过PLL锁相环,倍频后得到PLL_CLK高速内部时钟信号 3.PLL_CLK经过分频后得到系统时钟SYSC ...
- Jmeter json断言的使用
1 添加方式:取样器右键->添加->断言->JSON断言 作用:使用JSON表达式提取实际数据与预期进行比较 2首先我们来了解下断言组件的各个功能: Asset JSON Pat ...
- Java abstract 关键字使用
1 package com.bytezreo.abstractTest; 2 3 /** 4 * 5 * @Description Abstract 关键字使用 6 * @author Bytezer ...
- 18 Codeforces Round 853 (Div. 2)C. Serval and Toxel's Arrays(算贡献)
C. Serval and Toxel's Arrays 这种题目做多了应该很容易从贡献的角度去考虑了. 考虑当前版本对答案的贡献,首先这个版本和其他版本取交集至少会包含它本身所以直接先把\(i * ...
- .Net下的CORS跨域设置
CORS跨域访问问题往往出现在"浏览器客户端"通过ajax调用"服务端API"的时候.而且若是深究原理,还会发现跨域问题其实还分为[简单跨域]与[复杂跨域]这两 ...
- great [ɡreɪt] ɡr 然后 eɪt 单词发音 r和前面的辅音连读
great [ɡreɪt] ɡr 然后 eɪt 单词发音 r和前面的辅音连读
- 将Maven和Plugins的源都改为阿里镜像的Setting.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- Licensed to the Apache Soft ...
- linux查看域名对应的解析ip
方法1-直接使用ping 方法2-nslookup 方法3-dig
- uni-app如何实现USB插入后自动弹出对应软件
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近碰到了一个奇葩需求,要用uni-app来实现usb接入设备的时候,让软件自动弹出来,这里给出我制作的过程和参考的各种思路,希望对大家有 ...