本記事ついて
本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
CalendarApp
CalendarAppとは
Calendarサービスの最上位に位置するトップレベルオブジェクト
CalendarAppクラスの主なメンバー
メンバー | 戻り値 | 説明 |
---|---|---|
createCalender(name,options) | Calender | 新しいカレンダーnameを作成する |
getAllCalenders() | Calender[] | ユーザーが所有または閲覧しているすべてのカレンダーを取得する |
getAllOwnedCalenders() | Calender[] | ユーザーが所有しているすべてのカレンダーを取得する |
getCalenderById(id) | Calender | idでカレンダーを取得する |
getCalendersByName(name) | Calender[] | カレンダー名nameのすべてのでカレンダーを取得する |
getDefaultCalender() | Calender | ユーザーのデフォルトカレンダーを取得する |
カレンダーを取得する
カレンダーを取得する方法
・カレンダーIDで取得
・デフォルトカレンダーを取得
・所有または閲覧しているカレンダーを取得
GoogleカレンダーもほかのGoogleアプリケーション同様に一意できまるIDが付与されている。
IDは右側にある3点リーダーアイコンからオーバーフローメニューを開き、設定と共有を選択
設定画面の左側メニューからカレンダー統合をクリックするとカレンダーIDが確認できる。
ユーザーのデフォルトカレンダーであれば、ユーザーのGoogleアカウントのアドレス自体がカレンダーIDに、
別カレンダーであれば「×××××××××××@group.calendar.google.com」になる。
カレンダーIDを用いてカレンダーを取得するには
getCalendarByIdメソッドを使用
構文
CalendarApp.getCalendarById(カレンダーID)
ユーザーデフォルトカレンダーであれば
getDefaultCalenderメソッドを使用
構文
CalendarApp.getDefaultCalendar()
お試し
function tosiki() {
const id = '************@group.calendar.google.com';
const calendar = CalendarApp.getCalendarById(id);
console.log(calendar.getName());
const defaultCalendar = CalendarApp.getDefaultCalendar();
console.log(defaultCalendar.getName());
}
アクセス可能なカレンダーを配列で取得する
アクセス可能なカレンダーを取得するには
getAllOwnedCalendersメソッド
構文
CalendarApp.getAllOwnedCalenders()
getAllCalendersメソッド
構文
CalendarApp.getAllCalenders()
*戻り値は配列となります。
お試し
function tosiki() {
const calendars = CalendarApp.getAllCalendars();
for (const calendar of calendars) {
console.log(calendar.getName());
}
}
カレンダーを作成する
カレンダーを作成するには
createCalenderメソッドを使う
構文
CalendarApp.createCalender(タイトル[ ,オプション])
オプションはオブジェクト形式で指定できる。
timeZoneのデフォルト値がUTCになっているので日本のタイムゾーン(Asia/Tokyo)に設定するにはオプション設定が必要
createCalenderメソッドのオプション
オプション | 型 | 説明 |
---|---|---|
timeZone | String | カレンダーのタイムゾーン(デフォルト:UTC |
color | String | 16進数の色の文字列(#RRGGBB)またはEnum CalendarApp.Colorsの値を指定 |
hidden | Boolean | カレンダーがリストで非表示になっているか(デフォルト:false) |
selected | Boolean | カレンダーが選択されているかどうか(デフォルトはtrue) |
カレンダーのイベントの表示・非表示の動作は、selectedが担っていると言うことになる。
お試し
function tosiki() {
const name = 'テストカレンダー';
const options = {
timeZone: 'Asia/Tokyo',
color: CalendarApp.Color.INDIGO
};
CalendarApp.createCalendar(name, options);
}