3

Google Fit のデータを Tasker で変数に読み込むにはどうすればよいですか?

より具体的には、たとえば、携帯電話 + フィットネス トラッカーによってカウントされ、Google Fit に渡される今日の現在の歩数を読み取りたいとします。私の目標は、この数値を含む変数を作成して、それを操作することです。Google Fit History API について読みましたが、Tasker 経由でアクセスする方法がわかりません。

4

1 に答える 1

4

試行錯誤の末、私はそれを理解しました。これはかなり「複雑な」手順です。

準備:

ステップ 1 - https://console.developers.google.com/projectでプロジェクトを作成し、クライアント ID とシークレットを取得します。(それについては、より詳細なチュートリアルがたくさんあります)。プロジェクトは、Web としてではなく、アプリとして構成する必要があります。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 ループで繰り返します)。ホーム画面に独自のカスタム Google Fit 歩数ウィジェットを表示するために、歩数を Zooper ウィジェットに渡すことにしました。

于 2015-03-27T20:05:32.957 に答える