開始使用 REST API

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

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

建立 Google 帳戶

如要使用 Fitness REST API,您必須擁有 Google 帳戶。 如果你已擁有帳戶,則已經完成設定。您也可以建立另外的 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

如要熟悉 Fittness REST API,最直接的方法就是在編寫任何用戶端程式碼之前提交 HTTP 要求並觀察回應。

如要在 OAuth Playground 中授權 Fitness REST API,請按照下列步驟操作:

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

提交 HTTP 要求

以下範例說明瞭傳送 HTTP 要求以列出所有可用的資料來源,並建立新的資料來源。Fitness REST API 的 URI 格式為:

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

如何列出所有可用的資料來源:

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

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

如何建立資料來源:

  1. 在「HTTP Method」(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 提出要求 (請參閱上方的操作說明)。請注意,存取權杖會在一小時後失效。以下範例說明列出所有資料來源的簡單 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,請參閱下列頁面: