Googleカレンダーからを予定時間に対応できる担当を探してスプレッドシートのプルダウンで選択できるようにしたい

実現したいこと

面談予約が入ったときに、複数人いるアドバイザーのGoogleカレンダーから面談日時に対応できるメンバーを探し、
プルダウンで表示させたい

イメージ説明

前提

複数人いるアドバイザーのGoogleカレンダーは自分のカレンダーに追加はしてあります

発生している問題・エラーメッセージ

プラダウンに選択肢としてカレンダーIDはでてくるのですが、予定がはいっている場合も選択肢にでてきてしまいます。

該当のソースコード

function findAvailablePerson() { var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getActiveSheet(); var interviewDate = sheet.getRange("P:P").getValue(); // 面談日をP列から取得 var calendarIds = ["カレンダーID1","カレンダーID2","カレンダーID3","カレンダーID4","カレンダーID5"]; var availablePersons = []; for (var i = 0; i < calendarIds.length; i++) { var calendarId = calendarIds[i]; var calendar = CalendarApp.getCalendarById(calendarId); var events = calendar.getEvents(new Date(interviewDate), new Date(interviewDate)); // if (events.length === 0) { // イベントが存在しない場合、空いている人として追加 availablePersons.push(calendarId); } } // プルダウンリストを作成 var cell = sheet.getRange("S2:S"); var rule = SpreadsheetApp.newDataValidation().requireValueInList(availablePersons).build(); cell.setDataValidation(rule); }

補足情報(FW/ツールのバージョンなど)

コメントを投稿

0 コメント