開始使用 REST API

本教學課程說明如何啟用 Fitness REST API 的存取權、取得 OAuth 存取權杖,以及使用 HTTP 要求叫用 API 方法。

如要使用 Fitness REST API,請務必瞭解符合 REST 樣式的網路服務JSON 表示法的基本概念。

建立 Google 帳戶

您必須擁有 Google 帳戶,才能使用 Fitness REST API。如果您已有帳戶,則已準備就緒。您也可以另外建立另一個 Google 帳戶供測試使用。

要求 OAuth 2.0 用戶端 ID

請按照下列步驟要求 Fitness API 的 OAuth 2.0 用戶端 ID。

  1. 前往 Google API 控制台
  2. 請選取專案,或建立新專案。請為應用程式的 Android 和 REST 版本使用相同的專案。
  3. 按一下「繼續」以啟用 Fitness API。
  4. 按一下「前往憑證」
  5. 按一下「新憑證」,然後選取「OAuth 用戶端 ID」
  6. 在「Application type」(應用程式類型) 下方,選取 [Web application] (網頁應用程式)
  7. 在「Authorized JavaScript origins」(已授權的 JavaScript 來源) 下方,輸入發出要求的來源網站基準網址,例如 https://developers.google.com 是 OAuth Playground 使用的網址。
  8. 在「Authorized redirect URI」(已授權的重新導向 URI) 下方,輸入要處理回應的網站網址 (例如 https://developers.google.com/oauthplayground 是 OAuth Playground 使用的網址)。
  9. 點選「建立」。新的 OAuth 2.0 用戶端 ID 和密鑰會顯示在專案 ID 清單中。OAuth 2.0 用戶端 ID 是字元字串,如下所示:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com

在 OAuth Playground 中試用 REST API

OAuth Playground 是最簡單的方法,就是提交 HTTP 要求,並在編寫任何用戶端程式碼前觀察回應,以熟悉 Fit REST API。

如何在 OAuth Playground 中授權 Fitness REST API:

  1. 前往 OAuth Playground
  2. 在「步驟 1 選取及授權 API」下方,展開「Fitness v1」,然後選取要使用的健身範圍。
  3. 按一下 [Authorize APIs] (授權 API) 按鈕,選取要使用的 Google API 控制台專案,然後在系統提示時按一下「Allow」(允許)。您將可以存取及修改與所選 Google API 控制台帳戶相關聯的資料。
  4. 按一下 [ExchangeAuthorization code for token] 按鈕。提交 HTTP 要求時,OAuth Playground 會自動在 Authorization: 要求標頭中加入這個標頭。請注意,存取權杖會在 60 分鐘 (3600 秒) 後過期。

提交 HTTP 要求

下列範例示範如何傳送 HTTP 要求,以列出所有可用資料來源,並建立新資料來源。針對 Fitness REST API,URI 格式為:

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

查看所有可用資料來源的步驟如下:

  1. 在「HTTP 方法」中選取「GET」
  2. 在「Request URI」(要求 URI) 中輸入 https://www.googleapis.com/fitness/v1/users/me/dataSources
  3. 按一下「傳送要求」

該要求和回應會顯示在頁面右側。如果要求成功,回應會以 JSON 格式顯示上一個範例的資料來源。

建立資料來源的方法如下:

  1. 在「HTTP 方法」中選取「POST」
  2. 在「Request URI」(要求 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. 按一下「傳送要求」

該要求和回應會顯示在頁面右側。要求會在 Authorization 標頭中加入 OAuth 存取權杖:

Authorization: Bearer ya29.OAuthTokenValue

如果要求成功,回應的第一行會是:

HTTP/1.1 200 OK

使用 cURL 存取 Fit REST API

您可以使用 cURL 指令列工具存取 Fit REST API。您必須擁有 OAuth 存取權杖,才能使用 cURL 發出要求 (請參閱上述instructions)。請注意,存取權杖會在一小時後失效。以下範例顯示可列出所有資料來源的簡易 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,請參閱下列頁面: