首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Tasker读取Google数据?

如何使用Tasker读取Google数据?
EN

Stack Overflow用户
提问于 2015-03-27 10:40:35
回答 1查看 4K关注 0票数 3

我如何将Google的数据与Tasker一起读入变量中?

更具体地说,我想读一读,例如,我今天的步数,这是由我的手机+一个健身跟踪器,并提供给谷歌Fit。我的目标是有一个变量包含这个数字,然后使用它。我读过关于Google历史API的文章,但我不知道如何通过Tasker访问它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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插件操作。将其配置为:

代码语言:javascript
复制
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

代码语言:javascript
复制
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操作:

代码语言:javascript
复制
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次):

代码语言:javascript
复制
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步骤计数小部件。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29298750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档