google-authlisted
Install: claude install-skill devbasex/ai-plugins
# Google OAuth2 認証ガイド
Google API を使う操作 (スプレッドシート読み書き、GAS 実行、Drive アップロード、Chat メッセージ取得 等) で
認証が必要な場合に参照する。`${CLAUDE_SKILL_DIR}/scripts/google_auth.py` が CLI と Python ライブラリの両方として使える。
## 提供機能
| 機能 | 概要 |
|---|---|
| 単一トークン管理 | `~/.config/gcloud/google_token.json` (永続) に全スコープを保存 |
| 自動スコープマージ | `--scopes drive.file` 等で追加した分を既存スコープと自動マージして再認証 |
| 自動リフレッシュ | 期限切れは `refresh_token` で透過更新 |
| 手動 copy-paste フロー | `--manual` でローカルサーバ不要 (ポート競合・コンテナ環境で有用) |
| `--show` / `--clear` | トークン情報の表示・削除 |
| Python ライブラリ | `from google_auth import get_credentials` で他スキルから import 可能 |
## 前提条件
1. **`client_secret.json` の準備** (初回のみ):
- [GCP コンソール](https://console.cloud.google.com/apis/credentials) を開く
- 「認証情報を作成」→「OAuth クライアント ID」→ アプリケーションの種類「デスクトップアプリ」
- 作成後、JSON をダウンロードして以下のいずれかに `client_secret.json` として配置:
- `${CLAUDE_SKILL_DIR}/client_secret.json` (推奨、skill ローカル)
- 環境変数 `GOOGLE_CLIENT_SECRET` で示すパス
- 実行時のカレントディレクトリ
- **注意**: `.gitignore` に追加し、絶対にコミットしないこと
2. **依存パッケージのインストール** (skill ローカルの `pyproject.toml` を使う):
```bash
uv pip install -r ${CLAUDE_SKILL_DIR}/pyproject.toml
# もしくは: uv run --project ${CLAUDE_SKILL_DIR} python ${CLAUDE_SKILL_DIR}/scripts/google_auth.py ...
```
## CLI 使用法
認証はインタラクティブなブラウザ操作が必要なので、**ユーザに `!` プレフィックスで実行を案内する**。
エージェントが Bash で直接呼び出すとサーバ待ちでハングする。
```bash
# デフォルト (ローカルサーバ port 9123、スコープ spreadsheets.readonly)
! python ${CLAUDE_SKILL_DIR}/scripts/google_auth.py
# スコープ指定 (ショートハンド)
! python ${CLAUDE_SKILL_DIR}/scripts/google_a