将服务账号与 Chrome 应用商店 API 搭配使用

Chrome Web Store API 支持使用 Google Cloud 服务账号进行身份验证。服务账号是一种特殊的非人类账号,专为服务器与服务器之间的互动而设计,非常适合用于自动执行扩展程序发布工作流,例如在 CI/CD 流水线或其他后端服务中。它们可允许在无需用户直接参与的情况下使用 API 来完成 OAuth 流程。

通过将服务账号与您的 Chrome 应用商店开发者信息中心相关联,您可以授予该服务账号管理您的发布商账号所拥有的商品的权限。

设置

首先,我们将设置一个服务账号并向其授予对 Chrome 应用商店 API 的访问权限。

启用 Chrome 应用商店 API

  1. 前往 Google Cloud 控制台
  2. 创建新项目或选择现有项目。
    在 Google 控制台中创建新项目。
    在 Google 控制台中创建一个新项目。
  3. 搜索栏中,输入“Chrome Web Store API”。
  4. 启用 Chrome 应用商店 API

创建服务账号

在 Google Cloud 控制台中添加新的服务账号。
在 Google Cloud 控制台中添加新的服务账号。

在 Google Cloud 控制台中创建服务账号。在此阶段,您无需向服务账号添加任何权限。

在开发者信息中心内添加服务账号

在开发者信息中心内添加新的服务账号。
在开发者信息中心内添加新的服务账号。

在开发者信息中心的账号部分中添加服务账号电子邮件地址,以向您的服务账号授予对 Chrome 应用商店 API 的访问权限。

获取访问令牌

如需将服务账号与 Chrome 应用商店 API 搭配使用,您的应用需要获取与该服务账号关联的访问令牌。您可以通过多种方式来做到这一点,具体取决于您的应用代码的运行位置和安全偏好设置。

服务账号模拟

您可以使用 gcloud 命令行工具为您的服务账号获取短期有效的访问令牌。此方法通常用于本地开发或 CLI 访问。

gcloud auth login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud config set project PROJECT_ID
gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT_EMAIL --scopes=https://www.googleapis.com/auth/chromewebstore
ACCESS_TOKEN=<The output from the last command>

然后,按照教程中的说明发出请求。

使用 JSON Web 令牌

或者,您也可以直接通过 HTTP 使用 JSON Web 令牌 (JWT) 进行身份验证。在 Google Cloud 控制台中为您的服务账号创建 JSON 密钥。

Google Cloud 控制台中的密钥创建对话框。
Google Cloud 控制台中的密钥创建对话框。

然后,按照步骤构建 JWT 并将其换成访问令牌。