Exception: スクリプトにはその操作を行う権限がありません。その操作を行うには「(https://www.googleapis.com/auth/calendar || https://www.googleapis.com/auth/calendar.readonly || https://www.google.com/calendar/feeds)」権限が必要です。の対応方法

  • 2021.02.23
  • GAS
Exception: スクリプトにはその操作を行う権限がありません。その操作を行うには「(https://www.googleapis.com/auth/calendar || https://www.googleapis.com/auth/calendar.readonly || https://www.google.com/calendar/feeds)」権限が必要です。の対応方法

gasでカレンダーを扱うときにタイトルのエラーが出たときの対応方法を記載します。

エラーメッセージ

Exception: スクリプトにはその操作を行う権限がありません。その操作を行うには「(https://www.googleapis.com/auth/calendar || https://www.googleapis.com/auth/calendar.readonly || https://www.google.com/calendar/feeds)」権限が必要です。

原因

googleカレンダーにアクセスする権限の設定が足りていないためです

対応方法

1. appsscript.jsonを表示

スクリプトエディタのメニューの「プロジェクトの設定」を選択します。

プロジェクトの設定をクリックすると「「appsscript.json」マニフェスト ファイルをエディタで表示する」というチェックボックスが出てくるのでチェックをします。

すると、エディタに「appsscript.json」というファイルが出てきます。

2. appsscript.jsonにカレンダー参照権限を追加

appsscript.jsonの “oauthScopes”: [ というところに「”https://www.googleapis.com/auth/calendar.readonly”,」を追加します。

"oauthScopes": [
    "https://www.googleapis.com/auth/script.external_request",
    "https://www.googleapis.com/auth/spreadsheets",
    "https://www.googleapis.com/auth/forms",
    "https://www.googleapis.com/auth/calendar.readonly"
  ],

「”https://www.googleapis.com/auth/calendar.readonly”」以外も記入されているますがフォーム絵のアクセス権限などカレンダーにアクセスするのに必要なものではありません。

カレンダーだけであれば、「”https://www.googleapis.com/auth/calendar.readonly”」の追加だけで問題ありません。

これを保存することでカレンダーアクセスの権限がつき、エラーは解消されるかと思います。

それでもエラーが出る場合

トリガー経由で実行している場合は、appsscript.jsonに設定しても引き続きエラーが出てしまうことがあります。

その場合は、スクリプトエディタで一度カレンダーを参照する関数を手動で実行してみてください。

そうすると権限許可するかどうかの確認画面が出るので、許可をすると今後トリガー経由での参照ができるようになるかと思います。

試してみてください。




GASカテゴリの最新記事