OAuthトークン有効期限切れ 恒久対策ガイド

現在の問題: OAuthトークンが定期的に失効し、CTR・維持率・IMP・収益・登録者増・検索流入のデータ収集が停止する
根本原因: GCPのOAuthアプリが「テストモード」のまま → refresh_tokenの有効期限が7日間に制限 → 7日後に自動リフレッシュ失敗 → データ収集停止
恒久対策: GCPアプリを「本番公開」に変更するだけ → refresh_tokenが無期限に → 自動リフレッシュで永続動作

対策比較

対策効果難易度推奨
GCP本番公開恒久解決低(ボタン1つ)最優先
トークン再発行上記の前提低(1回だけ)必須
失効自動通知保険推奨
サービスアカウント制限あり非推奨

STEP 1: GCPアプリを「本番公開」に変更

1Google Cloud Console にアクセス

https://console.cloud.google.com/

AutoTubeで使っているGoogleアカウントでログインしてください。

2該当プロジェクトを選択

画面上部のプロジェクト名をクリック → AutoTubeで使っているプロジェクトを選択

3OAuth同意画面を開く

左メニュー →「APIとサービス」→「OAuth同意画面」

または直接:

https://console.cloud.google.com/apis/credentials/consent

4公開ステータスを確認

「公開ステータス」が「テスト」になっている場合:

「アプリを公開」ボタンをクリック

→ 確認画面で「確認」をクリック

注意:
  • 「内部」タイプの場合、組織外ユーザーはアクセスできないので安全
  • YouTube Analytics/Reporting APIのスコープは通常Google審査不要
  • もし審査を求められたら、「内部」に変更すれば審査なしで公開可能

5ステータスが「本番」に変わったことを確認

「公開ステータス: 本番」と表示されればOK

★報告: この画面のスクリーンショットを撮ってください

STEP 2: VPN PCでトークンを再発行(1回だけ)

GCPを「本番」に変更した後、1回だけ新しいトークンを取得する必要があります。
以降は自動リフレッシュで永続的に有効になります。

1VPN PCにリモートデスクトップ接続

2PowerShellを管理者権限で開く

3サービス停止

C:\autotube\nssm.exe stop AutoTubeCollector

4古いトークンを削除

del C:\autotube\token.json

(「見つかりません」と出てもOK)

5新しいトークンを取得

cd C:\autotube
python collector.py --auth

ブラウザが開いたら → YouTubeチャンネルのオーナーアカウントでログイン → 「許可」をクリック

「✅ 認証 + データ収集完了」が表示されるまで2〜3分待つ

「デーモンモードに自動移行します」と表示されたら Ctrl+C で停止

6サービス再開

C:\autotube\nssm.exe start AutoTubeCollector

7完了確認(5〜10分後)

以下のURLを開いて、CTR・維持率・IMPの数値が表示されていれば成功:

PDCAダッシュボード

なぜこれで恒久的に解決するのか

テストモード(現在)

refresh_token有効期限7日間
7日後自動リフレッシュ失敗 → データ収集停止
復旧方法手動で再認証が必要

本番モード(変更後)

refresh_token有効期限無期限(ユーザーが取り消さない限り)
access_token期限切れ時collector.pyが自動リフレッシュ(実装済み)
復旧方法不要(永続動作)

トラブルシューティング

Q: 「アプリを公開」ボタンがない

A: 既に本番ステータスの可能性があります。「公開ステータス: 本番」と表示されていれば対応不要です。

Q: 「確認が必要です」と表示された

A: ユーザータイプを「内部」に変更してください。内部アプリは審査不要で即公開できます。

Q: 公開後もトークンが7日で切れる

A: STEP 2で古いトークンを削除して再発行してください。古いトークン(テストモード時に発行)は7日制限が残ります。

Q: collector.pyのログに「トークンリフレッシュ失敗」が出る

A: client_secrets.jsonが変更された可能性があります。token.jsonを削除して再度 --auth を実行してください。