CalendarAppとは、Google Apps Scriptでカレンダーの操作を行う際に利用するコードのことですが、本投稿では、CalendarAppで使用できるコード一覧を作ってみました。
目次
CalendarAppの概要
CalendarAppに用意されているメソッドでは、いろいろな種類がありますが、代表的なメソッドを挙げると次のような操作がプログラム上で実行できます。
- 新規カレンダーの作成
- 既存カレンダーの修正・削除
- 新規予定の作成
- 既存予定の修正・削除
- 既存予定から情報取得
- リマインダーの追加・削除
明示的に指定をしなければ、実行者のデフォルトカレンダーに対してプログラム操作が実行行いますが、カレンダーIDやカレンダー名などで指定することで追加したカレンダーに対してもプログラムから同様の処理を行うことができます。
クラス名一覧
CalendarApp | Calendar | CalendarEvent | CalendarEventSeries |
EventGuest | GuestStatus | EventRecurrence | RecurrenceRule |
※クリックすると対象場所にジャンプします
列挙型一覧
Color | EventColor |
GuestStatus | Visibility |
※クリックすると対象場所にジャンプします
クラス別メソッド名一覧
Class CalendarApp
Class Calendar
メソッド名 | 返り値 | 簡単な説明 |
createAllDayEvent | CalendarEvent | 終日予定を作成 |
createAllDayEventSeries | CalendarEventSeries | 定期開催の終日予定を作成 |
createEvent | CalendarEvent | 新しく予定を作成 |
createEventFromDescription | CalendarEvent | 文章から判断して新しい予定を作成 |
createEventSeries | CalendarEventSeries | 定期開催される予定を作成 |
deleteCalendar | Void | カレンダーを完全に削除 |
getColor | String | カレンダーの設定色を取得 |
getDescription | String | カレンダーの説明内容を取得 |
getEventById | CalendarEvent | IDにマッチする予定を取得 |
getEventSeriesById | CalendarEventSeries | IDにマッチする定期開催予定を取得 |
getEvents | CalendarEvent[] | 条件の日時にマッチするすべての予定を配列で取得 |
getEventsForDay | CalendarEvent[] | 指定日のすべての予定を配列で取得 |
getId | String | カレンダーのIDを取得 |
getName | String | カレンダー名を取得 |
getTimeZone | String | カレンダーのタイムゾーンを取得 |
isHidden | Boolean | ユーザーのUI上で非表示になっているかどうか真偽値で取得 |
isPrimaryCalendar | Boolean | カレンダーがデフォルトに設定されているかどうか真偽値で取得 |
isOwnedByMe | Boolean | カレンダーのオーナーが自分かどうか真偽値で取得 |
isSelected | Boolean | ユーザーのUI上で表示されているか真偽値で取得 |
setColor | Calendar | カレンダーの色を設定 |
setDescription | Calendar | カレンダーの説明内容を設定 |
setHidden | Calendar | ユーザーのUI上で非表示に設定 |
setName | Calendar | カレンダー名を設定 |
setSelected | Calendar | ユーザーのUI上で非表示を解除 |
setTimeZone | Calendar | カレンダーのタイムゾーンを設定 |
unsubscribeFromCalendar | Void | カレンダーの共有を解除 |
Class CalendarEvent
メソッド名 | 返り値 | 簡単な説明 |
addEmailReminder | CalendarEvent | メールリマインダーを設定 |
addGuest | CalendarEvent | 予定にゲストを追加 |
addPopupReminder | CalendarEvent | ポップアップリマインダーを設定 |
addSmsReminder | CalendarEvent | SMSリマインダーを設定 |
anyoneCanAddSelf | Boolean | 自分を予定に参加させることができるかどうかを真偽値で確認 |
deleteEvent | Void | 予定を削除 |
deleteTag | CalendarEvent | 予定からタグを削除 |
getAllDayEndDate | Date | 終日予定が終了する日を取得 |
getAllDayStartDate | Date | 終日予定が開始する日を取得 |
getAllTagKeys | String[] | 予定のタグに設定したキーを配列で取得 |
getColor | String | 予定の設定色を取得 |
getCreators | String[] | 予定のすべての作成者を配列で取得 |
getDateCreated | Date | 予定の作成日を取得 |
getDescription | String | 予定の説明内容を取得 |
getEmailReminders | Integer[] | 予定のメールリマインダーの分数を配列で取得 |
getEndTime | Date | 予定の終了時間を取得 |
getEventSeries | CalendarEventSeries | 予定に関連する定期開催予定を取得 |
getGuestByEmail | EventGuest | Eメールアドレスを指定して予定のゲストを取得 |
getGuestList | EventGuest[] | 予定のオーナーを除くすべてのゲストを配列で取得 |
getId | String | 予定のIDを取得 |
getLastUpdated | Date | 予定の最終更新日時を取得 |
getLocation | String | 予定の場所を取得 |
getMyStatus | GuestStatus | 対象予定に対する自分の関係性を取得 |
getOriginalCalendarId | String | 予定が属するカレンダーのIDを取得 |
getPopupReminders | Integer[] | 予定のすべてのポップアップリマインダーの分数を配列で取得 |
getSmsReminders | Integer[] | 予定のすべてのSMSリマインダーの分数を配列で取得 |
getStartTime | Date | 予定の開始時間を取得 |
getTag | String | 予定のタグの値を取得 |
getTitle | String | 予定のタイトルを取得 |
getVisibility | Visibility | 予定の公開設定を取得 |
guestsCanInviteOthers | Boolean | ゲストの他のユーザー招待権限有無を真偽値で取得 |
guestsCanModify | Boolean | ゲストの予定編集権限有無を真偽値で取得 |
guestsCanSeeGuests | Boolean | ゲストのゲストリスト表示権限有無を真偽値で取得 |
isAllDayEvent | Boolean | 予定が終日予定かどうかを真偽値で取得 |
isOwnedByMe | Boolean | 予定のオーナーが自分かどうかを真偽値で取得 |
isRecurringEvent | Boolean | 予定が定期開催予定かどうかを真偽値で取得 |
removeAllReminders | CalendarEvent | 予定のすべてのリマインダーを削除 |
removeGuest | CalendarEvent | 予定のゲストを削除 |
resetRemindersToDefault | CalendarEvent | 予定のリマインダーをデフォルトにリセット |
setAllDayDate | CalendarEvent | 終日予定の日付を設定 |
setAlDayDates | CalendarEvent | 2日以上の終日予定の日付を設定 |
setAnyoneCanAddSelf | CalendarEvent | 予定の参加権限を設定 |
setColor | CalendarEvent | 予定の色を設定 |
setDescription | CalendarEvent | 予定の説明内容を設定 |
setGuestsCanInviteOthers | CalendarEvent | ゲストの招待権限を設定 |
setGuestsCanModify | CalendarEvent | ゲストの編集権限設定 |
setGuestsCanSeeGuests | CalendarEvent | ゲストの他のゲスト閲覧権限を設定 |
setLocation | CalendarEvent | 予定の場所を設定 |
setMyStatus | CalendarEvent | 予定の参加状況を設定 |
setTag | CalendarEvent | 予定にタグを設定 |
setTime | CalendarEvent | 予定の開始終了日時を設定 |
setTitle | CalendarEvent | 予定のタイトルを設定 |
setVisibility | CalendarEvent | 予定の公開設定を設定 |
Class CalendarEventSeries
Class EventGuest
メソッド名 | 返り値 | 簡単な説明 |
getAdditionalGuests | Integer | 参加予定のゲストの人数を取得 |
getEmail | String | ゲストのメールアドレスを取得 |
getGuestStatus | GuestStatus | 予定の参加不参加を取得 |
getName | String | ゲストの名前を取得 |
Class EventRecurrence
メソッド名 | 返り値 | 簡単な説明 |
addDailyExclusion | RecurrenceRule | 毎日開催予定に除外日を設定 |
addDailyRule | RecurrenceRule | 毎日繰り返すルールを設定 |
addDate | EventRecurrence | 特定の日付に繰り返すルールを設定 |
addDateExclusion | EventRecurrence | 繰り返し予定から特定の日付を除く |
addMonthlyExclusion | RecurrenceRule | 月間ルールに除外日を設定 |
addMonthlyRule | RecurrenceRule | 毎月繰り返すルールを設定 |
addWeeklyExclusion | RecurrenceRule | 週間ルールに除外日を設定 |
addWeeklyRule | RecurrenceRule | 週間ルールを設定 |
addYearlyExclusion | RecurrenceRule | 年間ルールに除外日を設定 |
addYearlyRule | RecurrenceRule | 年間ルールを設定 |
setTimeZone | EventRecurrence | 繰り返し予定にタイムゾーンを設定 |
Class RecurrenceRule
メソッド名 | 返り値 | 簡単な説明 |
addDailyExclusion | RecurrenceRule | 毎日開催予定に除外日を設定 |
addDailyRule | RecurrenceRule | 毎日繰り返すルールを設定 |
addDate | EventRecurrence | 特定の日付に繰り返すルールを設定 |
addDateExclusion | EventRecurrence | 繰り返し予定から特定の日付を除く |
addMonthlyExclusion | RecurrenceRule | 月間ルールに除外日を設定 |
addMonthlyRule | RecurrenceRule | 毎月繰り返すルールを設定 |
addWeeklyExclusion | RecurrenceRule | 週間ルールに除外日を設定 |
addWeeklyRule | RecurrenceRule | 週間ルールを設定 |
addYearlyExclusion | RecurrenceRule | 年間ルールに除外日を設定 |
addYearlyRule | RecurrenceRule | 年間ルールを設定 |
interval | RecurrenceRule | 繰り返し予定の間隔を設定 |
onlyInMonth | RecurrenceRule | 指定月にのみ繰り返しルールを適用 |
onlyInMonths | RecurrenceRule | 複数の指定月にのみ繰り返しルールを適用 |
onlyOnMonthDay | RecurrenceRule | 指定日にのみ繰り返すルールを適用 |
onlyOnMonthDays | RecurrenceRule | 複数の指定日にのみ繰り返すルールを適用 |
onlyOnWeek | RecurrenceRule | 指定週に毎年繰り返すルールを適用 |
onlyOnWeekday | RecurrenceRule | 指定の曜日に毎週繰り返すルールを適用 |
onlyOnWeekdays | RecurrenceRule | 複数の指定の曜日にのみ毎週繰り返すルールを適用 |
onlyOnWeeks | RecurrenceRule | 複数の指定週に毎年繰り返すルールを適用 |
onlyOnYearDay | RecurrenceRule | 指定日に毎年繰り返すルールを適用 |
onlyOnYearDays | RecurrenceRule | 複数の指定日に毎年繰り返すルールを適用 |
setTimeZone | EventRecurrence | 繰り返しルールにタイムゾーンを設定 |
times | RecurrenceRule | 繰り返し回数を設定 |
until | RecurrenceRule | 指定日まで繰り返すルールを適用 |
weekStartsOn | RecurrenceRule | 1週間のスタート曜日を設定 |
列挙型名一覧
Enums Color
プロパティ | タイプ | 色サンプル |
BLUE | Enum | ◆ Blue (#2952A3) |
BROWN | Enum | ◆ Brown (#8D6F47) |
CHARCOAL | Enum | ◆ Charcoal (#4E5D6C) |
CHESTNUT | Enum | ◆ Chestnut (#865A5A) |
GRAY | Enum | ◆ Gray (#5A6986) |
GREEN | Enum | ◆ Green (#0D7813) |
INDIGO | Enum | ◆ Indigo (#5229A3) |
LIME | Enum | ◆ Lime (#528800) |
MUSTARD | Enum | ◆ Mustard (#88880E) |
OLIVE | Enum | ◆ Olive (#6E6E41) |
ORANGE | Enum | ◆ Orange (#BE6D00) |
PINK | Enum | ◆ Pink (#B1365F) |
PLUM | Enum | ◆ Plum (#705770) |
PURPLE | Enum | ◆ Purple (#7A367A) |
RED | Enum | ◆ Red (#A32929) |
RED_ORANGE | Enum | ◆ Red-Orange (#B1440E) |
SEA_BLUE | Enum | ◆ Sea-Blue (#29527A) |
SLATE | Enum | ◆ Slate (#4A716C) |
TEAL | Enum | ◆ Teal (#28754E) |
TURQOISE | Enum | ◆ Turqoise (#1B887A) |
YELLOW | Enum | ◆ Yellow (#AB8B00) |
Enums EventColor
プロパティ | タイプ | 色サンプル |
PALE_BLUE | Enum | ◆ Pale Blue (“1”) |
PALE_GREEN | Enum | ◆ Pale Green (“2”) |
MAUVE | Enum | ◆ Mauve (“3”) |
PALE_RED | Enum | ◆ Pale Red (“4”) |
YELLOW | Enum | ◆ Yellow (“5”) |
ORANGE | Enum | ◆ Orange (“6”) |
CYAN | Enum | ◆ Cyan (“7”) |
GRAY | Enum | ◆ Gray (“8”) |
BLUE | Enum | ◆ Blue (“9”) |
GREEN | Enum | ◆ Green (“10”) |
RED | Enum | ◆ Red (“11”) |
Enums GuestStatus
プロパティ | タイプ | 説明 |
INVITED | Enum | 招待済 |
MAYBE | Enum | 未定 |
NO | Enum | 不参加 |
OWNER | Enum | オーナー |
YES | Enum | 参加 |
Enums Visibility
プロパティ | タイプ | 説明 |
CONFIDENTIAL | Enum | 自分のみ閲覧可(互換性を保つための値) |
DEFAULT | Enum | カレンダーの表示設定に依存 |
PRIVATE | Enum | 自分のみ閲覧可 |
PUBLIC | Enum | 誰でも閲覧可 |
コメント
コメント一覧 (7件)
スペルミスです。
removeAllReminders()
が正しいです。
ご指摘ありがとうございます。
ご指摘いただいたとおりスペルミスがありましたので修正しました。
PythonでGoogle Calendarを使ったWebアプリをチーム向けに作ろうとしたのですが、APIの登録などサービスにする際、デベロッパーでないチームメンバーに難しすぎたためGASを始めました。
Google App Scriptを始めたばかりですが、あまりまとめてくれているサイトが無かったのでとても助かりました。
コメントを残すのは、初めてですが、このサイトに感動したため書いてしまいました笑。
これからも参考にさせていただきます。
コメントありがとうございます!
始めたばかりは色々わからないこともあると思いますが、継続することが力になりますのでモチベーションをうまく保って頑張ってください!
ホントはもっとコンテンツを充実させたいのですが多忙にかまけて更新をおろそかにしてます。
もし使い方のわからないコードがあれば質問してもらえば優先的に記事書きますのでぜひコメント下さい!
よろしくお願いします。
[…] 実行してみましょう。今回のコードではプログラム実行日の予定の設定色を変更するコードを書いてみました。予定の色に設定できる色は、こちらで紹介している色のみ設定が可能です。 […]
[…] すればGuestオブジェクトを返します。Guestオブジェクトで使用できるメソッドはこちらの一覧ページに記載されているものが利用可能です。もし指定したアドレスのユーザーがゲストに存 […]
[…] recurrence(繰り返しルール) — EventRecurrence設定 […]