我如何将Google的数据与Tasker一起读入变量中?
更具体地说,我想读一读,例如,我今天的步数,这是由我的手机+一个健身跟踪器,并提供给谷歌Fit。我的目标是有一个变量包含这个数字,然后使用它。我读过关于Google历史API的文章,但我不知道如何通过Tasker访问它。
发布于 2015-03-27 20:05:32
经过一天的反复试验,我终于想出了答案。这是一个相当“复杂”的过程。
制备:
步骤1-在https://console.developers.google.com/project上创建一个项目,获取客户端ID以及秘密。(这方面有很多更详细的教程)。该项目需要配置为一个应用程序,而不是作为一个网络的东西。您还需要将urn:ietf:wg:oauth:2.0:oob添加到重定向URL。(http://localhost可能会留在那里)
第2步-安装RESTask插件的塔斯克。
第三步-去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中。
第二步-现在你终于可以得到宝贵的数据了。首先,定义一个开始和结束时间(保存在%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,以便在主屏幕上拥有我自己定制的Google步骤计数小部件。
https://stackoverflow.com/questions/29298750
复制相似问题