このプロジェクトは GitHub Actions を使用して Chrome Web Store への自動デプロイを行います。
- Chrome Web Store Developer Dashboard にアクセス
- 拡張機能を登録(初回のみ手動アップロードが必要)
- 拡張機能IDをメモしておく(URLの
detail/の後の文字列)
- Google Cloud Console で新しいプロジェクトを作成
- Chrome Web Store API を有効化
- OAuth同意画面 を設定:
- ユーザータイプ: 外部
- アプリ名、ユーザーサポートメール、デベロッパー連絡先を入力
- テストユーザーに自分のGmailアドレスを追加
- 認証情報 → OAuth 2.0 クライアント ID を作成
- アプリケーションの種類: デスクトップアプリケーション
- 承認済みリダイレクトURIに
http://localhost:8080を追加
- クライアントIDとクライアントシークレットをメモ
手順1: 認証URLにアクセス
以下のURLにアクセス(YOUR_CLIENT_IDを実際のクライアントIDに置き換え):
https://accounts.google.com/o/oauth2/v2/auth?client_id=YOUR_CLIENT_ID&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/chromewebstore
手順2: 承認とコード取得
- Googleアカウントでログイン
- 「このアプリは確認されていません」画面が表示された場合:
- 「詳細」をクリック
- 「(アプリ名)に移動(安全ではありません)」をクリック
- Chrome Web Store への権限を承認
- 「認証コード」(4/から始まる長い文字列)をコピー
手順3: リフレッシュトークンに変換
以下のコマンドを実行(YOUR_CLIENT_ID、YOUR_CLIENT_SECRET、YOUR_AUTH_CODEを置き換え):
curl -X POST https://oauth2.googleapis.com/token \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "client_id=YOUR_CLIENT_ID" \
-d "client_secret=YOUR_CLIENT_SECRET" \
-d "code=YOUR_AUTH_CODE" \
-d "grant_type=authorization_code" \
-d "redirect_uri=urn:ietf:wg:oauth:2.0:oob"レスポンス例:
{
"access_token": "ya29.a0...",
"expires_in": 3599,
"refresh_token": "1//04...(これを使用)",
"scope": "https://www.googleapis.com/auth/chromewebstore",
"token_type": "Bearer"
}refresh_tokenの値をGitHub Secretsに設定してください。
GitHub リポジトリの Settings → Secrets and variables → Actions で以下を設定:
CHROME_EXTENSION_ID: Chrome Web Store の拡張機能IDCHROME_CLIENT_ID: Google Cloud Console のクライアントIDCHROME_CLIENT_SECRET: Google Cloud Console のクライアントシークレットCHROME_REFRESH_TOKEN: 手順3で取得したリフレッシュトークン
バージョンタグをプッシュすると自動的にデプロイされます:
git tag v1.0.1
git push origin v1.0.1GitHub Actions の "Deploy to Chrome Web Store" ワークフローを手動実行することも可能です。
環境変数を設定してローカルからデプロイ:
export CHROME_EXTENSION_ID="your_extension_id"
export CHROME_CLIENT_ID="your_client_id"
export CHROME_CLIENT_SECRET="your_client_secret"
export CHROME_REFRESH_TOKEN="your_refresh_token"
pnpm deploy-chrome- 初回は手動でChrome Web Storeに拡張機能をアップロードする必要があります
- リフレッシュトークンは定期的に更新が必要な場合があります
- 拡張機能のレビューは自動では行われません(Googleの審査が必要)
- 本番環境への公開は慎重に行ってください
Invalid refresh token- リフレッシュトークンを再取得Extension not found- 拡張機能IDを確認Insufficient permissions- OAuth スコープを確認
GitHub Actions の実行ログで詳細なエラー情報を確認できます。