搭配使用服務帳戶與 Chrome 線上應用程式商店 API

Chrome 線上應用程式商店 API 支援使用 Google Cloud 服務帳戶進行驗證。服務帳戶是專為伺服器間互動設計的特殊非人類帳戶,因此非常適合自動化擴充功能發布工作流程,例如在 CI/CD 管道或其他後端服務中。他們可以允許使用 API,而不必直接與使用者互動,進行 OAuth 流程。

將服務帳戶連結至 Chrome 線上應用程式商店開發人員資訊主頁後,該帳戶就能管理發布者帳戶擁有的項目。

設定

首先,我們會設定服務帳戶,並授予該帳戶 Chrome 線上應用程式商店 API 的存取權。

啟用 Chrome 線上應用程式商店 API

  1. 前往 Google Cloud 控制台
  2. 建立新專案或選取現有專案。
    在 Google 控制台中建立新專案。
    在 Google 控制台中建立新專案。
  3. 搜尋列中輸入「Chrome 線上應用程式商店 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 Token

或者,您也可以使用 JSON Web Token (JWT),直接透過 HTTP 進行驗證。在 Google Cloud 控制台中,為服務帳戶建立 JSON 金鑰。

Google Cloud 控制台中的金鑰建立對話方塊。
Google Cloud 控制台中的金鑰建立對話方塊。

然後按照步驟建構 JWT,並換取存取權杖。