Chrome ウェブストア API は、Google Cloud サービス アカウントを使用した認証をサポートしています。サービス アカウントは、サーバー間のやり取りを目的とした特別なアカウントです。CI/CD パイプラインやその他のバックエンド サービスなど、拡張機能の公開ワークフローを自動化するのに最適です。これにより、ユーザーが直接関与する OAuth フローを経由することなく API を使用できます。
サービス アカウントを Chrome ウェブストア デベロッパー ダッシュボードにリンクすると、パブリッシャー アカウントが所有するアイテムを管理する権限がサービス アカウントに付与されます。
セットアップ
まず、サービス アカウントを設定し、Chrome ウェブストア API へのアクセス権を付与します。
Chrome ウェブストア API を有効にする
- Google Cloud Console に移動します。
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
Google コンソールで新しいプロジェクトを作成します。 - 検索バーに「Chrome ウェブストア API」と入力します。
- Chrome ウェブストア API を有効にします。
サービス アカウントを作成する

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 ウェブトークン(JWT)を使用して HTTP 経由で直接認証することもできます。Google Cloud コンソールでサービス アカウントの JSON キーを作成します。

次に、JWT を作成してアクセス トークンと交換する手順に沿って操作します。