前提・実現したいこと
GoogleスプレッドシートでWBSを作成する上で、営業日の判定をしたいです。
GAS上でGoogleカレンダーを参照して祝日を判定する関数を作成し動作しています。
Googleスプレッドシートからその関数を呼び出すと以下のエラーメッセージが発生しました。
GoogleスプレッドシートからGoogleカレンダーへのアクセス承認を行う方法を教えてください。
発生している問題・エラーメッセージ
エラー Exception: The script does not have permission to perform that action. Required permissions: (https://www.googleapis.com/auth/calendar || https://www.googleapis.com/auth/calendar.readonly || https://www.google.com/calendar/feeds)(行 9)が発生しました。
該当のソースコード
# スプレッドシート =dateIsHoliday(DATE(2021,9,3))
# Google App Script // 指定日が休日(土日、祝日)か判定する関数 function dateIsHoliday(day) { // 曜日(0:日曜~6:土曜)を取得し、土日と判定された場合はtrueを返す let weekInt = day.getDay(); if (weekInt <= 0 || 6 <= weekInt) { return true; } // 祝日を判定するため、日本の祝日を公開しているGoogleカレンダーと接続する let calendarId = "ja.japanese#holiday@group.v.calendar.google.com"; let calendar = CalendarApp.getCalendarById(calendarId); // 指定日イベントが設定されているか取得し、イベントが有る場合はtrueを返す if (calendar.getEventsForDay(day).length > 0) { return true; } //土日、祝日のいずれでもない場合は、休日ではないとしてfalseを返す return false; }
# appsscript.json { "timeZone": "Asia/Tokyo", "dependencies": {}, "exceptionLogging": "STACKDRIVER", "oauthScopes": [ "https://www.googleapis.com/auth/spreadsheets.currentonly", "https://www.googleapis.com/auth/calendar.readonly" ], "runtimeVersion": "V8" }
試したこと
- スプレッドシートのオーナーとGASのオーナーを一致させた
- appsscript.jsonにカレンダーの認証設定を追記
- GAS上でアカウントへのアクセス承認を実施
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/03 23:10