# Google AdSense OAuth 2.0設定ガイド

## 概要

Google AdSense Management APIを使用するために、OAuth 2.0認証を設定する必要があります。

## 前提条件

- Google Cloud Consoleでプロジェクトが作成されていること
- Google AdSense Management APIが有効になっていること

## 設定手順

### 1. Google Cloud ConsoleでOAuth 2.0認証情報を作成

1. [Google Cloud Console](https://console.cloud.google.com/)にアクセス
2. プロジェクトを選択
3. 「APIとサービス」→「認証情報」に移動
4. 「認証情報を作成」→「OAuth 2.0 クライアント ID」を選択
5. アプリケーションの種類を「ウェブアプリケーション」に設定
6. 名前を入力（例: "Promo Project Tracker AdSense"）
7. **承認済みのリダイレクト URI**に以下を追加:
   - 開発環境: `http://localhost:3001/api/auth/google-adsense/callback`
   - 本番環境: `https://your-domain.com/api/auth/google-adsense/callback`
8. 「作成」をクリック
9. **クライアントID**と**クライアントシークレット**をコピー

### 2. 環境変数の設定

`server/.env`ファイルに以下を追加:

```env
# Google OAuth 2.0 for AdSense
GOOGLE_OAUTH_CLIENT_ID=your-client-id-here
GOOGLE_OAUTH_CLIENT_SECRET=your-client-secret-here
GOOGLE_OAUTH_REDIRECT_URI=http://localhost:3001/api/auth/google-adsense/callback
BACKEND_URL=http://localhost:3001
```

**本番環境の場合:**
```env
GOOGLE_OAUTH_CLIENT_ID=your-client-id-here
GOOGLE_OAUTH_CLIENT_SECRET=your-client-secret-here
GOOGLE_OAUTH_REDIRECT_URI=https://your-domain.com/api/auth/google-adsense/callback
BACKEND_URL=https://your-domain.com
```

### 3. データベースマイグレーションの実行

OAuthトークンを保存するためのカラムを追加:

```bash
cd server
npm run migrate
```

### 4. 使用方法

1. プロジェクトの「計測連携」ページで「Google AdSense」タブを選択
2. サイトURLを追加
3. 「Google認証」ボタンをクリック
4. Googleアカウントでログインし、権限を承認
5. 認証完了後、自動的にリダイレクトされます
6. 「接続テスト」ボタンで接続を確認
7. データ取得を実行

## 注意事項

- OAuthトークンは自動的にリフレッシュされます
- トークンの有効期限は約1時間です
- リフレッシュトークンは初回認証時に取得されます（`prompt: 'consent'`を指定）
- 複数のAdSenseアカウントがある場合、最初のアカウントが使用されます

## トラブルシューティング

### 「OAuth認証が完了していません」エラー

- 「Google認証」ボタンをクリックして認証を完了してください
- 認証後、設定を再読み込みしてください

### 「トークンのリフレッシュに失敗しました」エラー

- 再認証が必要です。「Google認証」ボタンから再認証してください

### 「Google AdSenseアカウントが見つかりません」エラー

- 認証に使用したGoogleアカウントにAdSenseアカウントが関連付けられているか確認してください
- AdSenseアカウントが有効であることを確認してください

## セキュリティ

- クライアントシークレットは絶対に公開しないでください
- 本番環境ではHTTPSを使用してください
- 環境変数は安全に管理してください



