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 控制台
  2. 选择项目或创建一个新项目。对应用的 Android 版本和 REST 版本使用相同的项目。
  3. 点击继续以启用 Fitness API。
  4. 点击转到凭据
  5. 点击新凭据,然后选择 OAuth 客户端 ID
  6. 应用类型下,选择网页应用
  7. 已获授权的 JavaScript 来源下,输入来源网站的基本网址(例如,https://developers.google.com 是 OAuth 园地使用的网址)。
  8. 已获授权的重定向 URI 下,输入将处理响应的网站的网址(例如,https://developers.google.com/oauthplayground 是 OAuth 园地使用的网址)。
  9. 点击创建。您的新 OAuth 2.0 客户端 ID 和密钥会显示在项目的 ID 列表中。OAuth 2.0 客户端 ID 是一个字符串,如下所示:

    780816631155-gbvyo1o7r2pn95qc4ei9d61io4uh48hl.apps.googleusercontent.com

在 OAuth 园地中试用 REST API

OAuth Playground 是熟悉 Fitsness API 的最简单方式,在编写任何客户端代码之前,您都需要提交 HTTP 请求并观察响应。

如需在 OAuth 园地中向 Fitness REST API 授权,请执行以下操作:

  1. 转到 OAuth 园地
  2. 第 1 步:选择 API 授权项下,展开 Fitness v1 并选择要使用的健身范围。
  3. 点击授权 API 按钮,选择要使用的 Google API 控制台项目,然后在出现提示时点击允许。您将能够访问和修改与所选 Google API 控制台帐号相关联的数据。
  4. 点击交换令牌的授权代码按钮。当您提交 HTTP 请求时,OAuth 园地会自动在 Authorization: 请求标头中添加此标头。请注意,访问令牌将在 60 分钟(3600 秒)后过期。

提交 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. 请求正文窗口中,点击关闭

  6. 点击 Send the request

请求和响应会显示在页面的右侧。该请求在 Authorization 标头中包含 OAuth 访问令牌:

Authorization: Bearer ya29.OAuthTokenValue

如果请求成功,则响应的第一行是:

HTTP/1.1 200 OK

使用 c网址 访问 Fit REST API

您可以使用 c网址 命令行工具访问 Fit REST API。您需要 OAuth 访问令牌才能使用 c网址 发出请求(请参阅前面的说明)。请注意,访问令牌会在一小时后过期。以下示例展示了列出所有数据源的简单 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,请参阅以下页面: