【问题标题】:How to read Google Fit data with Tasker?如何使用 Tasker 读取 Google Fit 数据?
【发布时间】:2015-05-31 16:00:33
【问题描述】:

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

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

【问题讨论】:

    标签: android google-fit tasker


    【解决方案1】:

    经过一天的反复试验,我确实弄明白了。这是一个相当“复杂”的过程。

    准备工作:

    第 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&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 小部件,以便在主屏幕上拥有我自己的自定义 Google Fit 步数小部件。

    【讨论】:

    • 我收到了redirect_uir_mismatch。创建客户端 ID 时我必须设置什么 URL?
    • @MoritzSchmitzv.Hülst 尝试添加:urn:ietf:wg:oauth:2.0:oob
    • 我无法设置重定向 URL。谷歌更改了网站,它看起来与其他教程不同。在没有重定向的情况下,我不断收到 401 错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多