创建访问凭据

凭据用于从 Google 的授权服务器获取访问令牌,以便您的应用可以调用 Google Workspace API。本文档介绍了如何选择和设置应用所需的凭据。

选择适合您的访问凭据

所需的凭据取决于应用的数据类型、平台和访问方法。有三种类型的凭据可用:

使用场景 身份验证方法 关于此身份验证方法
在应用中匿名访问公开提供的数据。 API 密钥 在使用此身份验证方法之前,请确定您要使用的 API 支持 API 密钥。
访问用户数据,例如用户的电子邮件地址或年龄。 OAuth 客户端 ID 要求应用向用户进行请求并获得用户同意。
访问应用拥有的数据、特定的共享文档(例如 Google 表格),或通过 全网域授权代表用户访问 Google Workspace 资源。 服务账号 当应用是使用服务账号证明其身份时,它可以访问该服务账号有权访问的所有 资源。

如需了解本页面中所用术语的定义,请参阅身份验证和 授权概览

API 密钥凭据

API 密钥是一个包含大写字母、小写字母、数字、下划线和连字符的长字符串,例如 AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe。 此身份验证方法用于匿名访问公开提供的数据,例如使用“拥有此链接的任何人”共享设置共享的 Google Workspace 文件。如需了解详情,请参阅管理 API 密钥

如需创建 API 密钥,请执行以下操作:

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > API 和服务 > 凭据

    进入“凭据”页面

  2. 点击创建凭据 > API 密钥
  3. 系统会显示新的 API 密钥。
    • 点击“复制”图标 ,复制 API 密钥以在应用的代码中使用 。您还可以在项目的凭据的"API 密钥"部分中找到 API 密钥。
    • 为防止未经授权的使用,我们建议您限制此 API 密钥 可用于哪些位置和 API。如需了解详情,请参阅 添加 API 限制

OAuth 客户端 ID 凭据

如需对最终用户进行身份验证并访问应用中的用户数据,您需要创建一个或多个 OAuth 2.0 客户端 ID。客户端 ID 用于向 Google 的 OAuth 服务器标识单个应用。如果您的应用在多个平台上运行,则必须为每个平台创建一个单独的客户端 ID。

选择您的 应用 类型 ,以获取有关如何创建 OAuth 客户端 ID 的具体说明:

Web 应用

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > Google 身份验证平台 > 客户端

    进入“客户端”页面

  2. 点击创建客户端
  3. 依次点击应用类型 > Web 应用
  4. 名称 字段中,输入凭据的名称。此名称仅在 Google Cloud 控制台中显示。
  5. 添加与您的应用相关的已获授权的 URI:
    • 客户端应用 (JavaScript) \- 在已获授权的 JavaScript 来源 下,点击添加 URI 。然后,输入要用于浏览器请求的 URI。这会标识您的应用可以向 OAuth 2.0 服务器发送 API 请求的网域。
    • 服务器端应用(Java、Python 等) \- 在已获授权的重定向 URI 下,点击添加 URI 。然后,输入 OAuth 2.0 服务器可以向其发送响应的端点 URI。
  6. 点击创建

    新创建的凭据会显示在 OAuth 2.0 客户端 ID 下。

    请注意,客户端密钥不适用于 Web 应用。

Android

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > Google 身份验证平台 > 客户端

    进入“客户端”页面

  2. 点击创建客户端
  3. 依次点击应用类型 > Android
  4. 名称 字段中,输入凭据的名称。此名称仅在 Google Cloud 控制台中显示。
  5. 软件包名称 字段中,输入 AndroidManifest.xml 文件中的软件包名称。
  6. SHA-1 证书指纹 字段中,输入您的 生成的 SHA-1 证书指纹
  7. 点击创建

    新创建的凭据会显示在“OAuth 2.0 客户端 ID”下。

iOS

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > Google 身份验证平台 > 客户端

    进入“客户端”页面

  2. 点击创建客户端
  3. 依次点击应用类型 > iOS
  4. 名称 字段中,输入凭据的名称。此名称仅在 Google Cloud 控制台中显示。
  5. 软件包 ID 字段中,输入应用的 Info.plist 文件中列出的软件包标识符。
  6. 可选:如果您的应用显示在 Apple App Store 中,请输入 App Store ID。
  7. 可选:在团队 ID 字段中,输入由 Apple 生成并分配给您的团队的唯一字符串,该字符串包含 10 个字符。
  8. 点击创建

    新创建的凭据会显示在“OAuth 2.0 客户端 ID”下。

Chrome 扩展程序

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > Google 身份验证平台 > 客户端

    进入“客户端”页面

  2. 点击创建客户端
  3. 依次点击应用类型 > Chrome 扩展程序
  4. 名称 字段中,输入凭据的名称。此名称仅在 Google Cloud 控制台中显示。
  5. 商品 ID 字段中,输入应用的唯一 32 字符 ID 字符串。您可以在应用的 Chrome 应用商店网址和 Chrome 应用商店开发者信息中心内找到此 ID 值。
  6. 点击创建

    新创建的凭据会显示在“OAuth 2.0 客户端 ID”下。

桌面应用

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > Google 身份验证平台 > 客户端

    进入“客户端”页面

  2. 点击创建客户端
  3. 依次点击应用类型 > 桌面应用
  4. 名称 字段中,输入凭据的名称。此名称仅在 Google Cloud 控制台中显示。
  5. 点击创建

    新创建的凭据会显示在“OAuth 2.0 客户端 ID”下。

电视和受限输入设备

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > Google 身份验证平台 > 客户端

    进入“客户端”页面

  2. 点击创建客户端
  3. 依次点击应用类型 > 电视和受限输入设备
  4. 名称 字段中,输入凭据的名称。此名称仅在 Google Cloud 控制台中显示。
  5. 点击创建

    新创建的凭据会显示在“OAuth 2.0 客户端 ID”下。

服务账号凭据

服务账号是一种由应用(而非个人)使用的特殊账号。您可以使用服务账号通过机器人账号访问数据或执行操作,也可以代表 Google Workspace 或 Cloud Identity 用户访问数据。如需了解详情,请参阅 服务账号概览

请注意,在 Google Cloud 控制台中配置的 Identity and Access Management (IAM) 角色不会授予对 Google Workspace 资产 (例如 Google 表格或 Gmail)的访问权限。如需授予服务账号对 Google Workspace 资源的访问权限,您可以使用以下方法:

如果您的应用需要... 在哪里进行配置...
访问特定文件(例如 Google 表格) 直接与服务账号的电子邮件地址共享文件或文件夹
执行网域管理(例如创建 Google Workspace 用户) 直接为服务账号分配管理员角色
访问整个网域的用户数据(例如读取任何用户的 Gmail 或 Google 日历活动) 授权服务账号使用全网域授权

创建服务账号

您可以使用 Google Cloud 控制台或 gcloud 命令行工具创建服务账号。

Google Cloud 控制台

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > IAM 和管理 > 服务账号

    转到“服务账号”

    其余步骤会显示在 Google Cloud 控制台中。

  2. 选择 Google Cloud 项目。
  3. 点击创建服务账号
  4. 输入要在 Google Cloud 控制台中显示的服务账号名称。
  5. 如果您现在不想设置访问权限控制,请点击完成 以完成服务账号的创建过程。如需立即设置访问权限控制,请点击创建并继续 ,然后继续执行下一步。
  6. 可选:为服务账号分配角色,以授予对 Google Cloud 项目的资源以及 Google Workspace 资源的访问权限。如需了解详情,请参阅管理对项目、文件夹和组织的访问权限
  7. 点击继续
  8. 可选:输入可以管理此服务账号并使用其执行操作的用户或群组。如需了解详情,请参阅服务账号模拟
  9. 点击完成 以完成服务账号的创建过程。

    记下服务账号的电子邮件地址。

gcloud CLI

  1. 创建服务账号:
    gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \
      --display-name="SERVICE_ACCOUNT_NAME"
  2. 可选:为服务账号分配角色,以授予对 Google Cloud 项目的资源以及 Google Workspace 资源的访问权限。如需了解详情,请参阅管理对项目、文件夹和组织的访问权限

使用服务账号直接访问 Google Workspace 文件

如果您的应用只需要读取或写入特定文件(例如 Google 表格或 Google 云端硬盘文件夹),则无需分配管理员角色或配置全网域授权。相反,您可以使用标准界面直接与服务账号的电子邮件地址共享各个文件。您可以将服务账号的电子邮件地址视为文档共享设置中的用户账号,而无需管理员权限。

要授予访问权限:

  1. 复制服务账号的电子邮件地址。例如,my-service-account@my-project.iam.gserviceaccount.com
  2. 打开您要访问的 Google 表格文档或 Google 云端硬盘文件夹。
  3. 点击共享
  4. 添加服务账号的电子邮件地址,并分配适当的访问权限级别(例如“编辑者”或“查看者”)。
  5. 取消选中通知用户 (由于服务账号没有收件箱,因此不会收到邮件邀请,但权限仍会授予)。
  6. 点击共享

创建服务账号密钥

您需要以公钥/私钥对的形式获取凭据。您的代码使用这些凭据来授权应用中的服务账号操作。

如需创建服务账号密钥,请执行以下操作:

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > IAM 和管理 > 服务账号

    转到“服务账号”

    其余步骤会显示在 Google Cloud 控制台中。

  2. 选择 Google Cloud 项目。
  3. 点击要为其创建密钥的服务账号的电子邮件地址。
  4. 点击密钥 标签页。
  5. 点击添加密钥 下拉菜单,然后选择创建新密钥
  6. 选择 JSON 作为密钥类型 ,然后点击创建

    系统会生成新的公钥/私钥对,并以服务账号密钥文件的形式下载到您的 计算机。将下载的 JSON 文件另存为工作目录中的credentials.json 。此文件是此密钥的唯一副本。下载密钥文件后,您无法再次下载。如需了解如何安全存储 密钥,请参阅 管理服务账号密钥的最佳实践

为服务账号分配 Google Workspace 管理员角色

您可以将任何预先创建的或自定义的 Google Workspace 角色分配给服务账号,但超级用户角色除外。

  1. 在 Google 管理控制台中,依次点击“菜单”图标 > 账号 > 管理员角色

    转到管理员角色

    您必须以超级用户身份登录才能执行此任务。

    其余步骤会显示在 Google 管理控制台中。

  2. 将光标指向要分配的角色,点击 Actions 下拉菜单,然后选择分配管理员角色

  3. 点击分配服务账号

  4. 输入服务账号的电子邮件地址。

  5. 依次点击添加 > 分配角色

可选:为服务账号设置全网域授权

当您的应用需要代表组织中的多个个人用户访问 Google Workspace 数据(例如使用 Gmail API 发送电子邮件)而无需获得个人用户同意时,请使用全网域授权。 如需代表 Google Workspace 组织中的用户调用 API,请使用 超级用户 账号在 Google 管理控制台中向服务账号授予全网域授权。如需了解详情,请参阅 向服务账号进行全网域授权

如需为服务账号设置全网域授权,请执行以下操作:

  1. 在 Google Cloud 控制台中,依次点击“菜单”图标 > IAM 和管理 > 服务账号

    转到“服务账号”

  2. 选择 Google Cloud 项目。
  3. 点击要为其设置全网域授权的服务账号的电子邮件地址。
  4. 点击显示高级设置
  5. 在“全网域授权”下,找到服务账号的“客户端 ID”。
  6. 点击“复制”图标 ,将客户端 ID 值复制到剪贴板。
  7. 如果您拥有对相关 Google Workspace 账号的超级用户访问权限,请点击查看 Google Workspace 管理控制台,使用超级用户账号登录,然后继续执行以下步骤。

    如果您没有对相关 Google Workspace 账号的超级用户访问权限, 请与该账号的超级用户联系。向他们发送服务账号的客户端 ID 以及应用所需的 OAuth 范围列表,以便他们可以在 Google 管理控制台中完成以下步骤。

    1. 在 Google 管理控制台中,依次点击“菜单”图标 > 安全性 > 访问权限和数据控件 > API 控件

      前往“API 控件”

    2. 点击管理全网域授权
    3. 点击新增
    4. 客户端 ID 字段中,粘贴您之前复制的客户端 ID。
    5. OAuth 范围 字段中,输入应用所需的范围的英文逗号分隔列表。这与您在配置 OAuth 权限请求页面时定义的一组范围相同。
    6. 点击授权

      更改最长可能需要 24 小时生效,但通常会更快完成。如需了解详情,请参阅使用全网域授权功能控制 API 访问权限

下一步

您已准备好在 Google Workspace 上进行开发!查看 Google Workspace 开发者产品 列表以及 如何 寻求帮助