首页 文章

如何使用Tasker阅读Google Fit数据?

提问于
浏览
3

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

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

1 回答

  • 4

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

    Preparation:

    第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 . 使用 splitter " 拆分返回的响应( %rtres ) . 保存位于 %rtres4 内的令牌和位于 %rtres14 内的刷新令牌 .

    Getting Step Count

    第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
    

    not 检查 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步数小部件 .

相关问题