今回は、ニーズが本当にあるのかよく分からない、超ニッチな話です。
ヨシケイさんを利用している人で、注文内容を自動的にGoogleカレンダーに登録したい人に向けた内容になります。
ヨシケイさん自体は、本ブログの読者層にマッチしていると思うのですが、カレンダーに登録したい人がどのぐらいいるのか・・・謎です
ヨシケイさんとは?
ヨシケイさんを知らない人は本ページなんか読まれていない気がしますが、一応簡単に説明しておきます。
誤解を恐れずに言えば、ヨシケイさんは食材の通販屋さんです。
料理を選べば、それに必要な分量の食材を届けてくれますので、特に共働き世帯にとって、非常に頼もしい力になるでしょう
なお、下のHPで簡単に紹介されていますので、ここを読んで頂ければスグに理解できると思います。
悩み
基本的に事前に翌週分の料理を注文することになるので、いざ配達当日になると「今日は注文した日だったっけ?」となるのが悩みでした。
手動でGoogleカレンダーに登録してはいたのですが、地味に面倒です。
どうせなら、自動化したいですよね?
ということで以下、超簡単に手順を記載しておきます。
もし設定を本気で行おうとしたけどイマイチ分からない・・・という時は、コメント欄でご指摘頂ければと思います。
その際は改めて詳細な記事にしたいと思います。
![](https://ssl-stat.amebame.com/pub/content/9477400408/amebapick/item/picktag_autoAd_301.png)
手順
① Gmailを開き、ヨシケイさんからのメールをアーカイブ化(もしくは削除するか、受信トレイ以外に移動)します。
② Googleドライブを開き、「Google Apps Scriptのファイル」を新規作成します。ファイル名は何でもいいです。
③ ファイルを開き、エディタに以下のように入力します。
※ 左ペインの「<>ボタン」をクリックして、中ペインの「コード.gs」をクリックして、右ペインに下のスクリプトをコピペ
function addEventToCalendar() {
var threads = GmailApp.search("in:inbox subject:([ヨシケイ] 日週のご注文を承りました。)");
var calendar = CalendarApp.getCalendarById("カレンダーID");
threads.forEach(thread => {
thread.getMessages().forEach(message => {
const body = message.getPlainBody().split("-----------------------------------------------------------------------------");
const line = body[1].split("\r\n");
for (let i = 2; i < line.length - 1; i++) {
const st = new Date(line[i].substring(0, 10) + " 17:10:00");
const ed = new Date(line[i].substring(0, 10) + " 19:10:00");
calendar.createEvent(line[i].substring(13), st, ed, { description: body[3] });
}
});
thread.moveToArchive();
});
}
なお、"カレンダーID" の部分はとりあえず "hoge@gmail.com" のような感じで、皆様のGmailのメアドに書き換えておいてください。
④ トリガーを開き、「トリガーを追加」をクリックします。
※ トリガーを開くには、左ペインの目覚まし時計⏰みたいなボタンをクリック
⑤ 以下のように入力して、保存をクリックします。
実行結果
上記の設定を終えたら、あとはヨシケイさんでいつも通りに注文を行ってください。
注文を行うとGmailに注文内容のメールが届くと思いますが、それから1時間以内にカレンダーにも連携されるようになります
これはスマホ上でカレンダーを表示してみたサンプルですが、
- タイトル欄に、商品名が表示される
- 日時は、注文日の17:10~19:10となる
- (おまけ)詳細欄に、今週1週間分の商品名が表示される
終わりに
細かいところを端折りましたが、以上の設定を適切に行えば、快適なヨシケイさんライフをおくれるはずです
頑張ってください!
ところで1つ、現状ではどうしようもない注意点ですが、ヨシケイさんからのメールが今の形のままである事が前提となります。
極端なことを言うと例えば、注文内容がメールではなくLINEで送られてくるようになると、どうしようもありません。
その際は、手順②の「Google Apps Script のファイル」を削除してください。
![](https://ssl-stat.amebame.com/pub/content/9477400408/amebapick/item/picktag_autoAd_302.jpg)