如何使用Tasker将Google Fit中的数据读入变量?
更具体地说,我想阅读,例如我今天的步数是通过我的手机+健身追踪器计算得出的,并且是给予Google健身的。我的目标是让一个包含这个数字的变量然后使用它。我已经阅读了Google Fit History API,但我不知道如何通过Tasker访问它。
答案 0 :(得分:4)
<强>制备强>
第1步 - 在https://console.developers.google.com/project上创建项目并获取客户端ID和密码。 (还有很多关于这方面的详细教程)。该项目需要配置为一个应用程序 - 而不是一个网络的东西。您还需要将urn:ietf:wg:oauth:2.0:oob
添加到重定向网址。 (http://localhost
可能留在那里)
第2步 - 为Tasker安装RESTask插件。
第3步 - 转到https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/fitness.activity.read&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&client_id=YOUR_CLIENT_ID
。你会在那里得到一个代码。复制该代码。
第4步 - 创建一个将使用RESTask插件操作的任务。将其配置为:
Request Type: POST
Host: https://accounts.google.com/o/oauth2/token
检查Enable custom body
将自定义正文设置为:code=%THE_COPIED_CODE&client_id=%YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code
切换到Header
并按Add more
:
Name: Content-Type
Value: application/x-www-form-urlencoded
如果一切顺利,您将获得返回代码200。
使用%rtres
splitter
拆分返回的回复("
)。保存位于%rtres4
内的令牌和位于%rtres14
内的刷新令牌。
获取步数
第1步 - 在获取任何内容之前,您需要拥有有效的令牌。准备期间获得的令牌仅在有限的时间内有效。您可以使用应保存的刷新令牌请求新令牌。要获得工作令牌,请使用不同的正文重做第4步:
client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&refresh_token=YOUR_REFRESH_TOKEN&grant_type=refresh_token
重复拆分,新鲜令牌将保存在%rtres4
。
第2步 - 现在您终于可以获得宝贵的数据了。首先,定义开始和结束时间(保存在%start
和%end
中)。请注意,那些必须是纳秒。您可以使用%TIMEMS*1000000
。因此,使用以下配置添加RESTask操作:
Request Type: GET
Host: https://www.googleapis.com/fitness/v1/users/me/dataSources/derived:com.google.step_count.delta:com.google.android.gms:estimated_steps/datasets/%start-%end
不检查Enable custom body
切换到Header
并按Add more
(3次):
Name: Content-Type
Value: application/json
Name: Authorization
Value: Bearer YOUR_TOKEN
Name: X-JavaScript-User-Agent
Value: Google APIs Explorer
如果一切顺利,您将获得返回代码200。步骤计数将在响应中返回。
随意使用此数据做任何您想做的事情。要获得完整的步数,您可能需要总结这些值。 (拆分响应并使用for循环进行迭代)。我确实选择将步数传递给Zooper Widget,以便在主屏幕上拥有我自己的自定义Google Fit步数小部件。