1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ごみ捨てリマインドメールをGASで送っている話

Posted at

概要

我が家では、GASを使用して、ごみ捨てのリマインドメールを送信しています。
夜21~22時頃に私と妻宛に「明日のごみは燃やせるごみです。出して良いごみは○○です」みたいなメールが届くようになっています。これに気づいたら、翌日出すゴミの準備をするようにしています。
方法は単純で、Googleカレンダーにゴミの予定日を登録して、それを前日にリマインドしているだけです。ごみの日をすぐに忘れてしまう私にとっては、少し便利なシステムです。

Googleカレンダーへの登録

Googleカレンダーを開いて、「他のカレンダー」の横のプラスマークをクリックしましょう。「新しいカレンダーを作成」をクリックして、「○○市ゴミカレンダー」などと名前を付けて保存しましょう。
カレンダー2.png

あとは、このカレンダーに、お住まいの地域のごみ捨ての情報を登録してください。
ごみの予定を登録する際には、第n○曜日や、毎週○曜日といった登録の仕方ができるので、これを使います。
カレンダー3.png

説明欄には、出すゴミの種類を記入しましょう。
カレンダー7.png

これで登録が完了すると、以下のようになります。
カレンダー1.png
これで準備は完了です。

カレンダーIDの取得

プログラムにカレンダーを読み込ませるためにカレンダーIDを取得する必要があります。
先ほど作成したカレンダーの横の「…」をクリックし、「設定と共有」を選択します。
カレンダー4.png

「カレンダーの統合」をクリックすると、「カレンダーID」がありますので、これをどこかにキープしてください。
カレンダー5.png

GASのスクリプト

Googleドライブを開いて、スタンドアロン型でスクリプトを書きましょう。
カレンダー6.png

記入するスクリプトは以下の通りです。

Garbage_disposal
function garbage_disposal() {
  // 対象のカレンダーID
  const calendarId = 'ここにカレンダーIDを入力';
  // カレンダーオブジェクト取得
  const calendar = CalendarApp.getCalendarById(calendarId);

  // 現在日時を取得
  const today = new Date();
  const tomorrow = new Date(today.getTime() + 24 * 60 * 60 * 1000); // 
  const tomorrow2 = Utilities.formatDate(tomorrow, "JST", "MM/dd");
  if(tomorrow2 =="01/01" || tomorrow2 == "01/02" || tomorrow2=="01/03"){
    return
  }

  // 指定日の予定オブジェクトの配列の0番目を取得
  const event = calendar.getEventsForDay(tomorrow)[0];
  if (event === undefined) {
    Logger.log("No events found.");
  }
  // 予定が1件以上の場合
  else {
    let title = event.getTitle();
    let body = event.getDescription()
    Logger.log(title);
    Logger.log(body);
    email(title, body);
  }
}

function email(title, body) {
  GmailApp.sendEmail("私のメールアドレス,妻のメールアドレス", "明日のごみは【" + title + "】です", "明日のごみは" + title + "です\n出して良いごみは\n" + body + "\nです。\n\n※このメールは自動送信です。");
}

トリガー設定

このスクリプトを、毎日22時頃に実行するように設定します。
GASのエディタ画面から、目覚まし時計のマークをクリックして、トリガー画面を開きます。
カレンダー8.png

「トリガーを追加」をクリックして、以下のように設定して、保存をクリックします
カレンダー9.png

これで毎日21~22時頃に、Googleカレンダーの内容が指定したメールアドレスに届くはずです!
この仕組みを応用して、もっと便利な何かを作れないか検討中です。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?