REST API を使ってみる

このチュートリアルでは、Fitness REST API へのアクセスを有効にする方法、OAuth アクセス トークンを取得する方法、HTTP リクエストを使用して API メソッドを呼び出す方法について説明します。

Fitness REST API を使用するには、RESTful ウェブサービスJSON 表現の基本を理解しておくことが重要です。

Google アカウントを取得する

Fitness REST API を使用するには、Google アカウントが必要です。 すでにアカウントをお持ちの場合は、完了です。テスト用に別の Google アカウントを作成することもできます。

OAuth 2.0 クライアント ID をリクエストする

Fitness API の OAuth 2.0 クライアント ID をリクエストする手順は次のとおりです。

  1. Google API Console に移動します。
  2. プロジェクトを選択するか、新しいプロジェクトを作成します。アプリの Android バージョンと REST バージョンで同じプロジェクトを使用します。
  3. [続行] をクリックして Fitness API を有効にします。
  4. [認証情報に進む] をクリックします。
  5. [新しい認証情報] をクリックし、[OAuth クライアント ID] を選択します。
  6. [アプリケーションの種類] で、[ウェブ アプリケーション] を選択します。
  7. [承認済みの JavaScript 生成元] で、リクエストの発信元サイトのベース URL を入力します(たとえば、https://developers.google.com は OAuth Playground で使用される URL です)。
  8. [承認済みのリダイレクト URI] で、レスポンスが処理されるサイトの URL を入力します(たとえば、https://developers.google.com/oauthplayground は OAuth Playground で使用される URL です)。
  9. [作成] をクリックします。新しい OAuth 2.0 クライアント ID とシークレットがプロジェクトの ID のリストに表示されます。OAuth 2.0 クライアント ID は次のような文字列です。

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com

OAuth Playground で REST API を試す

OAuth Playground は、クライアント コードを記述する前に HTTP リクエストを送信してレスポンスを見ることで、Fitness REST API に慣れるための最も簡単な方法です。

OAuth Playground で Fitness REST API を承認するには:

  1. OAuth Playground に移動します。
  2. [ステップ 1: API を選択して承認する] で [Fitness v1] を展開し、使用するフィットネス スコープを選択します。
  3. [Authorize APIs] ボタンをクリックし、使用する Google API Console プロジェクトを選択して、プロンプトが表示されたら [Allow] をクリックします。選択した Google API Console アカウントに関連付けられているデータにアクセスして変更できます。
  4. [Exchange authorization code for token] ボタンをクリックします。OAuth Playground では、HTTP リクエストを送信するときに、Authorization: リクエスト ヘッダーにこのヘッダーが自動的に含まれます。アクセス トークンは 60 分(3,600 秒)後に期限切れになります。

HTTP リクエストを送信する

次の例は、HTTP リクエストを送信して利用可能なすべてのデータソースを一覧表示し、新しいデータソースを作成する方法を示しています。Fitness REST API の場合、URI 形式は次のようになります。

https://www.googleapis.com/fitness/v1/resourcePath?parameters

利用可能なすべてのデータソースを一覧表示するには:

  1. [HTTP Method] で [GET] を選択します。
  2. [リクエスト URI] に「https://www.googleapis.com/fitness/v1/users/me/dataSources」と入力します。
  3. [Send the request](リクエストを送信)をクリックします。

リクエストとレスポンスがページの右側に表示されます。リクエストが成功すると、レスポンスには前の例のデータソースが JSON 形式で表示されます。

データソースを作成するには:

  1. [HTTP Method] で [POST] を選択します。
  2. [リクエスト URI] に「https://www.googleapis.com/fitness/v1/users/me/dataSources」と入力します。
  3. [リクエスト本文を入力] をクリックします。
  4. [Request Body] ウィンドウで、次の JSON をコピーして貼り付けます。

    {
      "dataStreamName": "MyDataSource",
      "type": "derived",
      "application": {
        "detailsUrl": "http://example.com",
        "name": "Foo Example App",
        "version": "1"
      },
      "dataType": {
        "field": [
          {
            "name": "steps",
            "format": "integer"
          }
        ],
        "name": "com.google.step_count.delta"
      },
      "device": {
        "manufacturer": "Example Manufacturer",
        "model": "ExampleTablet",
        "type": "tablet",
        "uid": "1000001",
        "version": "1"
      }
    }
    
    
  5. [Request Body] ウィンドウで [Close] をクリックします。

  6. [Send the request](リクエストを送信)をクリックします。

リクエストとレスポンスがページの右側に表示されます。リクエストの Authorization ヘッダーに OAuth アクセス トークンを含めます。

Authorization: Bearer ya29.OAuthTokenValue

リクエストが成功すると、レスポンスの最初の行は次のようになります。

HTTP/1.1 200 OK

cURL を使用して Fit REST API にアクセスする

cURL コマンドライン ツールを使用して、Fit REST API にアクセスできます。cURL を使用してリクエストを行うには、OAuth アクセス トークンが必要です(前述のinstructionsを参照)。アクセス トークンの有効期限は 1 時間です。次の例は、すべてのデータソースを一覧表示するシンプルな bash スクリプトを示しています。

#!/bin/bash
ACCESS_TOKEN=""
curl \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  https://www.googleapis.com/fitness/v1/users/me/dataSources

次のステップ

REST API の詳細については、次のページをご覧ください。