参照できるすべてのカレンダーの名前とIDを取得するコードの例です
コード.gs
function get_calenders(){ var calenders = CalendarApp.getAllCalendars(); var array = []; for(var i = 0; i < calenders.length; i++){ var name = calenders[i].getName(); var id = calenders[i].getId(); array.push([name, id]); } Logger.log(array); } |
意訳この処理は以下を実行する すべてのカレンダーを取得する カレンダーの名前とidを入れる入れ物を用意しておく カレンダーの数だけ以下を繰り返す カレンダーの名前を取得して カレンダーのidを取得して arrayに入れる 最終的にすべてのカレンダーが入ったarrayをログに出す |
おまけ
取得した名前とIDをシートに書き出す場合
setValuesを使って以下のようなコードで書き出すことができます
コード.gs
function get_calenders(){ var calenders = CalendarApp.getAllCalendars(); var array = []; for(var i = 0; i < calenders.length; i++){ var name = calenders[i].getName(); var id = calenders[i].getId(); array.push([name, id]); } set_values(array); } function set_values(array){ var sh = SpreadsheetApp.getActiveSheet(); var last_row = sh.getLastRow(); var start_row = last_row + 1; var start_col = 1; var num_rows = array.length; var num_cols = array[0].length; var range = sh.getRange(start_row, start_col, num_rows, num_cols); range.setValues(array); } |
関連記事
setValuesを使う話
参考
https://developers.google.com/apps-script/reference/calendar/calendar-app#getAllCalendars()