其他分享
首页 > 其他分享> > android-如何使用Tasker读取Google Fit数据?

android-如何使用Tasker读取Google Fit数据?

作者:互联网

如何使用Tasker将Google Fit中的数据读取到变量中?

更具体地说,我想阅读例如我今天的当前步数,通过手机上的健身追踪器进行计数,并提供给Google Fit.我的目标是拥有一个包含该数字的变量,然后使用它.我已经读过Google Fit History API,但我不知道如何通过Tasker访问它.

解决方法:

经过一天的反复试验,我确实知道了.这是一个相当“复杂”的过程.

制备:

步骤1-在https://console.developers.google.com/project上创建一个项目,并获取客户端ID和密码. (对此有很多更详细的教程).该项目需要配置为应用程序-而不是网络.您还需要将urn:ietf:wg:oauth:2.0:oob添加到重定向URL. (http:// localhost可能会留在那里)

第2步-安装Tasker的RESTask插件.

第3步-转到https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/fitness.activity.read\u0026amp;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

选中启用自定义正文

将自定义主体设置为: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

切换到页眉,然后按添加更多:

Name: Content-Type
Value: application/x-www-form-urlencoded

如果一切正常,您将得到一个返回码200.
使用拆分器“拆分返回的响应(%rtres).保存位于%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

不要选中启用自定义正文

切换到页眉,然后按添加更多(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小部件,以在主屏幕上拥有自己的自定义Google Fit步数小部件.

标签:google-fit,tasker,android
来源: https://codeday.me/bug/20191028/1953096.html