Help us understand the problem. What is going on with this article?

GAS gasを使いGoogleCalendarに予定を自動で登録する

ゴール

月初めにGoogleCalendarの25日に家賃を払う予定を自動で作成する。

新規のGoogleAppsScriptのプロジェクトを作成する

Googleドライブを開き、「新規」から「GoogleAppsScript」を開く。
選択肢にない場合はアプリを追加より追加する。
新規gas.png

新規のプロジェクトが表示される。
無題のプロジェクト.PNG

左上の「無題のプロジェクト」のラベルをクリックしプロジェクト名を変更して保存しておく。
今回のプロジェクト名はは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

試しに実行してみる

手順

  1. 実行タブから関数を実行、createEventsをクリック
  2. 1回目は承認が必要である。
    1. 承認が必要ですというダイアログが表示されるので「許可を確認」。
    2. アカウントを選択する。
    3. このアプリは確認されていませんが表示された場合は左下のeditCalendarに移動を押す。
    4. 許可
  3. 実行されたの確認してみる。
  4. 今日から24日後に予定が登録される。

実行.PNG

トリガーを設定する

トリガーとは

トリガーとはスクリプトを実行するための引き金となるもの。
ユーザの操作などによりイベントが発生する。
使用するイベントと実行する関数を指定することで登録できる。

トリガーの設定方法

  1. メニューの現在のプロジェクトのトリガー(時計のアイコン)をクリックする。
    トリガー.png

  2. トリガーの追加

  3. 以下の項目を設定して登録する。

    • 実行する関数:createEvents
    • イベントのソースを選択:時間主導型
    • 時間ベースのトリガータイプを選択:月ベースのタイマー
    • 日を選択:1日
    • 時刻を選択:任意

最後に

GoogleCalendarはよく確認するので、忘れがちな家賃の支払いの予定を自動でGoogleCalendarに登録してみました。
25日になったらSlackに通知を送信されたかったのですがまだ着手できず...
GSuiteは便利な機能が多いのでスクリプトで活用できていけたらと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした