惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

宝玉的分享
宝玉的分享
J
Java Code Geeks
S
SegmentFault 最新的问题
L
LangChain Blog
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
MongoDB | Blog
MongoDB | Blog
Microsoft Security Blog
Microsoft Security Blog
腾讯CDC
H
Help Net Security
阮一峰的网络日志
阮一峰的网络日志
Jina AI
Jina AI
N
Netflix TechBlog - Medium
A
About on SuperTechFans
博客园 - 叶小钗
美团技术团队
人人都是产品经理
人人都是产品经理
D
DataBreaches.Net

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
教你通过快捷指令建立个人健康指标数据库! - 少数派
2021-02-24 · via 少数派

一、背景概述

上一篇文章搞定了苹果健康应用里面的存量数据的导出及转换格式倒入自己的维格表格(云端数据库),本篇完成每天新记录的健康数据通过【快捷指令】自动化执行上传同步到维格表格。

本篇主要内容:

1、通过维格表格标准API接口编写一个快捷指令的思路

2、实现批量苹果健康数据每天自动化同步到维格表

二、准备内容

  1. 快捷指令app
  2. 苹果健康app
  3. ios手机一台
  4. 建立好的健康指标专用维格数据库

三、过程记录

1)了解维格API与快捷指令URL组件

在维格API里面咱们只需要用到这个add新增数据这个接口就行,四部分对应内容如图片所示对应。

什么是token,是你维格账户的唯一密钥,可以当作是往里面添加数据的进门钥匙。所以这块我单独拿一个变量进行了存储,方便把快捷指令分享给他人的时候快速直接复用。

data是顾名思义就是要上传的数据内容部分,维格限制了一次最多只能新增10条,咱们就建立一个10条内容的文本进行赋值就行。在执行接口请求的时候需要带上。

理解了这个关键组件使用就可以做很多自己的玩法研究了。

2)设计编写快捷指令过程及思路

第〇步、验证官方API的有效性

避免做无用功,第一步永远是先自己测试一下官方给的接口是否能调通,上网随便搜一个在HTTP在线调试工具,也是按请求地址、header、data三部分把内容填进去。

发送请求后,获得反馈状态码为200表示请求指令执行成功。同时也会返回对应添加内容的一些其他例如添加时间、自增序号之类的属性字段。

如果返回状态码不是200,可以根据官方的手册、联系客服以及自己查看代码格式等形式找到问题(我就多了一个逗号报错半天),减少后期在快捷指令中出现问题的风险。

第一步、获取正确的健康样本数据

因为目的功能非常明确,就是要做一个每天晚上同步手机里的健康数据的自动化捷径。所以取到正确健康数据很关键。然后才是把数据上传等操作。

我是之前在写格志日记就熟练使用这部分的健康数据查找使用了,但是不妨记录一下思路。

1、先在苹果健康中找到想要记录的身体指标,查看所记录的数据详情。

以睡眠为例子,里面都是一段一段的持续时间。

2、所以第二个就是从样本数据中获取持续时间

例如步数就是获取值、心率也是获取值

3、对获取的数组内容做预处理

睡眠就是把各段睡眠持续时常做累加即可,但是最高心率就是取最大值,最低心率就是取最小值。

4、对获取的数据做单位转换

大部分健康数据都可以通过累加综合等方式就能直接使用,但是睡眠需要做单位转换。

把获得的持续时间观察一下就知道是多个以秒为单位的时间。

从秒的数值转换为x小时x分。我用了一个笨办法,先把累加计算的结果除3600,取整数,就是小时数然后设定小时变量,完了再用除3600的结果减去设定变量的小时变量就能得到0.几的小时直接再乘一个60就能得到分钟数,再设定一个分钟变量。2个变量数文本一拼就是昨晚的睡眠数据了。

5、最后一直调整到能得到想要形态的结果数据

然后按同样的方法尝试其他类型指标的提取方式或办法,目测应该没有比睡眠时长更麻烦的了,其他的都很简单。

第二步、实现一个最小样本数据上传

有了前两步的积累就能实现一次快速的单健康数据同步上传了。

把从健康中获得数据结果赋值一个变量,然后直接填到对应的URL数据中,运行快捷指令。查看返回结果是不是200,同时登陆PC端的维格数据表查看是否确实数据更新到位。没问题就实现了一个最小MVP。

第三步、编写完整的快捷指令程序

这部分就比较枯燥了因为接口限制是批量新增最多10条,所以咱们就充分利用十条,创建10个健康数据获取的程序块,分布赋值指标1-10,然后data数据文本也扩充为10条记录。

之前有一个小伟大神开发的快捷指令复制捷径,现在已经失效了,只能用目前我能找到最快的方法:用IPAD编写,通过右侧收藏列表,快速拖拽需要的组件到程序序列中,但是偏偏ipad端又是没有健康app的,最后还得回到手机端再挨个设置里面的细项,大概花了1小时做这个事。

第四步、优化快捷指令程序使用体验

1、提取赋值变量做公共词典

在第三步我所有的指标名称都是直接写死在data的文本框里面的,如果要修改起来是比较麻烦的,包括请求地址和token其实都是自定义文本的赋值,我就干脆设置了一个词典,然后在data文本中直接使用词典中指定键值。在开篇完成相应的定义,方便自己清晰总览同时被他人个性化使用。

2、给运行结果添加提醒反馈

简单写一个如果否则的判断程序,对提交URL请求后返回的内容做一个展示。如果成功直接告诉已经上传成功的结果,失败往前台透出相应的错误状态码详情及说明。

方便使用中定位问题。

3)设置自动化运行捷径

这部分应该还有坑,因为薄荷健康都是12点定时同步数据到苹果健康的,也就是12点之后才能拿到前一天的数据,所以我取的都是最近1天的数据,而不是「在今天」的数据,然后配合运动手表的健康运动的app,需要每天打开之后才能通过蓝牙同步数据,需要在往维格上传之前先把手表的数据同步都手机上先,可以做成一连串的自动开启应用,再关闭,最后再开同步。
 

还经常有奇怪的地方会卡住。等我研究透再稿一篇好了。实在不好自动化每天早上起床关掉闹钟后,手动点击一下执行同步健康数据的快捷指令也行,刚好拿到完整的睡眠数据。

四、心得体会

1、我会把写完的快捷指令分享出来,关注我账号私信回复关键词“维格健康”给您发送本文完成的快捷指令的下载链接。您可以个性化编辑修改为己所用。

2、除了这种定期同步每天会产生的健康指标之外,还有一些例如不定期的测尿酸,测血压,体重,体脂及运动记录也可以用类似的快捷指令组件完成数据的记录,但没必要每日同步上传了。

3、有了存量健康数据、及每天同步的新数据,下一步就可以搭建「健康指标数字驾驶舱」。