API Keys API 使用入门

本页面介绍了如何设置本地环境以使用 curl 命令试验 API 密钥。

准备工作

  1. 登录您的 Google Cloud 账号。如果您是新手 Google Cloud, 请创建一个账号来评估我们的产品在 实际场景中的表现。新客户还可获享 $300 赠金,用于 运行、测试和部署工作负载。
  2. 安装 Google Cloud CLI。

  3. 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

  4. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  5. 创建或选择 Google Cloud 项目

    选择或创建项目所需角色

    • 选择项目:选择项目不需要特定的 IAM 角色,您可以选择您已被 授予角色的任何项目。
    • 创建项目:如需创建项目,您需要 Project Creator 角色 (roles/resourcemanager.projectCreator),该角色包含 resourcemanager.projects.create 权限。了解如何授予 角色
    • 创建 Google Cloud 项目:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替换为您要创建的 Google Cloud 项目的名称。

    • 选择您创建的 Google Cloud 项目:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替换为您的 Google Cloud 项目名称。

  6. 验证您的 Google Cloud 项目是否已启用结算功能。

  7. 启用 API 密钥 API:

    启用 API 所需的角色

    如需启用 API,您需要 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予 角色

    gcloud services enable apikeys.googleapis.com
  8. 将角色授予您的用户账号。对以下每个 IAM 角色运行以下命令一次:roles/serviceusage.apiKeysAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    替换以下内容:

    • PROJECT_ID:您的项目 ID。
    • USER_IDENTIFIER:您的用户账号的标识符。 例如,myemail@example.com
    • ROLE:您授予用户账号的 IAM 角色。
  9. 安装 Google Cloud CLI。

  10. 如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI

  11. 如需初始化 gcloud CLI,请运行以下命令:

    gcloud init
  12. 创建或选择 Google Cloud 项目

    选择或创建项目所需角色

    • 选择项目:选择项目不需要特定的 IAM 角色,您可以选择您已被 授予角色的任何项目。
    • 创建项目:如需创建项目,您需要 Project Creator 角色 (roles/resourcemanager.projectCreator),该角色包含 resourcemanager.projects.create 权限。了解如何授予 角色
    • 创建 Google Cloud 项目:

      gcloud projects create PROJECT_ID

      PROJECT_ID 替换为您要创建的 Google Cloud 项目的名称。

    • 选择您创建的 Google Cloud 项目:

      gcloud config set project PROJECT_ID

      PROJECT_ID 替换为您的 Google Cloud 项目名称。

  13. 验证您的 Google Cloud 项目是否已启用结算功能。

  14. 启用 API 密钥 API:

    启用 API 所需的角色

    如需启用 API,您需要 Service Usage Admin IAM 角色 (roles/serviceusage.serviceUsageAdmin),该角色包含 serviceusage.services.enable 权限。了解如何授予 角色

    gcloud services enable apikeys.googleapis.com
  15. 将角色授予您的用户账号。对以下每个 IAM 角色运行以下命令一次:roles/serviceusage.apiKeysAdmin

    gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE

    替换以下内容:

    • PROJECT_ID:您的项目 ID。
    • USER_IDENTIFIER:您的用户账号的标识符。 例如,myemail@example.com
    • ROLE:您授予用户账号的 IAM 角色。

测试 API 密钥 API

  1. 获取您在其中启用了 API 密钥的项目的项目编号

  2. 为调用 API 定义一个方便的 shell 别名:

    alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
    
  3. 发出请求以获取项目中的 API 密钥列表:

    gcurl https://apikeys.googleapis.com/v2/projects/YOUR_PROJECT_NUMBER/locations/global/keys
    

    成功后,您会收到类似于以下内容的响应:

    {
      "keys": [
        {
          "name": "projects/12345678/locations/global/keys/2885bf87-5b84-47fa-92af-08c3e9337349",
          "displayName": "API key 2",
          "createTime": "2019-05-29T22:07:22.036Z",
          "uid": "2885bf87-5b84-47fa-92af-08c3e9337349",
          "updateTime": "2019-05-29T22:07:22.058623Z",
          "restrictions": {
            "androidKeyRestrictions": {}
          },
          "etag": "zHib8eXEMCxe4ayQEbIaZg=="
        },
        {
          "name": "projects/12345678/locations/global/keys/a4db08b7-5729-4ba9-8c08-f2df493465a1",
          "displayName": "API key 1",
          "createTime": "2019-05-29T22:06:58.844Z",
          "uid": "a4db08b7-5729-4ba9-8c08-f2df493465a1",
          "updateTime": "2019-05-29T22:06:58.855103Z",
          "restrictions": {
            "androidKeyRestrictions": {}
          },
          "etag": "0L5KcPMGoNi53K5+FqPxiw=="
        }
      ]
    }

后续步骤