ゴール
月初めにGoogleCalendarの25日に家賃を払う予定を自動で作成する。
新規のGoogleAppsScriptのプロジェクトを作成する
Googleドライブを開き、「新規」から「GoogleAppsScript」を開く。
選択肢にない場合はアプリを追加より追加する。
左上の「無題のプロジェクト」のラベルをクリックしプロジェクト名を変更して保存しておく。
今回のプロジェクト名ははeditCalendarとする。
GoogleAppsScriptを作成する
完成コード
コード.gs
function createEvents() {
var calendar = CalendarApp.getDefaultCalendar();
var date = new Date();
var startDate = new Date(date.setDate(date.getDate() + 24));
var endDate = new Date(date.setDate(date.getDate() + 1));
var title = (date.getMonth() + 1) + '月の家賃支払い';
calendar.createAllDayEvent(title, startDate, endDate);
}
詳細
GoogleCalendarを取得するAPI
var calendar = CalendarApp.getDefaultCalendar();
必要な変数を用意する
//関数が実行される日付
var date = new Date();
//予定の開始日は1日に実行する想定なので開始日は+24日する
var startDate = new Date(date.setDate(date.getDate() + 24));
//予定の終了日は終日のため+1でよい
var endDate = new Date(date.setDate(date.getDate() + 1));
//登録される予定のタイトル
var title = (date.getMonth() + 1) + '月の家賃支払い';
GoogleCalndarに登録する
calendar.createAllDayEvent(title, startDate, endDate);
参考
DoogleAppsScriptのCalendarリファレンス
https://developers.google.com/apps-script/reference/calendar/calendar
試しに実行してみる
手順
- 実行タブから関数を実行、createEventsをクリック
- 1回目は承認が必要である。
- 承認が必要ですというダイアログが表示されるので「許可を確認」。
- アカウントを選択する。
- このアプリは確認されていませんが表示された場合は左下のeditCalendarに移動を押す。
- 許可
- 実行されたの確認してみる。
- 今日から24日後に予定が登録される。
トリガーを設定する
トリガーとは
トリガーとはスクリプトを実行するための引き金となるもの。
ユーザの操作などによりイベントが発生する。
使用するイベントと実行する関数を指定することで登録できる。
トリガーの設定方法
トリガーの追加
-
以下の項目を設定して登録する。
- 実行する関数:createEvents
- イベントのソースを選択:時間主導型
- 時間ベースのトリガータイプを選択:月ベースのタイマー
- 日を選択:1日
- 時刻を選択:任意
最後に
GoogleCalendarはよく確認するので、忘れがちな家賃の支払いの予定を自動でGoogleCalendarに登録してみました。
25日になったらSlackに通知を送信されたかったのですがまだ着手できず...
GSuiteは便利な機能が多いのでスクリプトで活用できていけたらと思います。