Google Apps Script (GAS) で YouTube API を利用して動画の投稿日を取得する際に発生する「You do not have permission to call youtube.videos.list」エラーに対する解決方法を解説します。この記事では、エラーメッセージの原因とその対処方法を順を追って説明します。
エラー「You do not have permission to call youtube.videos.list」の原因
このエラーメッセージは、Google Apps Script で YouTube Data API を使用する際、必要な認証スコープ(OAuth スコープ)が正しく設定されていない場合に発生します。YouTube Data API を利用するには、適切なアクセス権限が必要です。具体的には、動画情報を取得するためには「https://www.googleapis.com/auth/youtube.readonly」などの認証スコープが必要となります。
解決方法:認証スコープを設定する
問題を解決するには、まずスクリプトプロジェクトの認証スコープを確認し、必要なスコープを追加する必要があります。下記の手順で設定を行います。
- Google Apps Script エディタを開きます。
- 「リソース」メニューから「Google Cloud Platform プロジェクト」を選択します。
- 「APIとサービス」セクションで、YouTube Data API v3を有効にします。
- プロジェクトに適切なOAuthスコープ(例:
https://www.googleapis.com/auth/youtube.readonly
)を追加します。 - appsscript.json に設定されたスコープが正しいことを確認します。
解決方法:認証プロセスの確認
認証スコープが追加された後、GAS スクリプトを再実行する際に、再度認証プロセスを完了させる必要があります。スクリプトの実行時に認証のポップアップが表示されるので、それに従い許可を与えてください。これにより、APIへのアクセスが正常に動作します。
また、認証に失敗した場合や変更が反映されない場合は、スクリプトエディタの「リソース」→「Google Cloud Platform プロジェクト」の設定を再確認してみてください。
まとめ
「You do not have permission to call youtube.videos.list」のエラーは、YouTube Data API を利用するための適切な認証スコープが設定されていない場合に発生します。解決方法として、認証スコープを正しく設定し、認証プロセスを再度実行することが必要です。これにより、APIにアクセスできるようになり、動画の情報を正しく取得できるようになります。
コメント