とある記事でGASとLINEを連携できることを知ったので、
試しに作ってみました。(ソースや実際のトーク画面は徐々に追加していくつもりです。)
- 目的
- LINEの設定
- GAS上でのスクリプト作成
- リマインドの設定
- 感想・今後の展望
1.目的
私がこのシステムを作ってみようとした動機は、
結婚を機に何かとプライベートの予定が増えてきました。
そこで今までは妻とお互いのスケジュールツールを使って管理していましたが、
ほとんどの予定が共通であったため、これを一元管理する方法を考えておりました。
そこで、グーグルカレンダーの共有設定を用いることで予定を共有することができました。
しかしお互いに予定は追加するが、グーグルカレンダーを見返さないことが多いため、
タスク漏れが多く発生しておりました。
そのため、日常的に使用しているLINEへ予定のリマインドメールを送信することで、
タスク漏れが防げることができないなのではないかと考え、今回のシステムを作ろうと考えました。
(※こまめにグーグルカレンダーやGmailを確認すればいいだけの話ですが・・・)
2.LINEの設定
LINEの設定は他の記事でもたくさん記載されていますが、
主にアカウントの設定などを実施してください。
GASとボット形式でチャットする場合はwebhookの設定等も必要になります。
3.GAS上でのスクリプト作成
初めて作ってみましたが、非常に簡単であり
スプレットシート やカレンダーなどグーグルのあらゆるサービスと連携できるので
非常に便利に感じました。
また、他のプラットフォーム(AWS、Heroku…etc)と違い日時処理の設定がとても簡単だったので、
今回はGASを使用しました。
作成物は主に2つあり、
- 1つ目はボット形式で予定を返却する
- 2つ目は日時処理により予定を送信する
1つ目に関して、
LINEの設定も必要になってくるので、あらかじめwebhook urlを設定しておきます。
そしてGASではdoPostメソッドを作成し、LINEから送られてくる内容を分解し、
‘本日の予定’、’今月の予定’というメッセージを受信した場合のみ、処理を実施するようにしております。
(毎回打つのは面倒なので、あらかじめLINEのリッチメニューに設定しておきます。)
各種文言を受信した際、グーグルカレンダーへ情報を取得し、
LINEのトーク画面へ返信する用のメッセージを作成します。
そして、LINE Messaging APIのreply api or push apiを使用し、メッセージを返却しております。
また、アクセスログはスプレットシートへ保持するようにしております。
4.リマインドの設定
GASより非常に簡単に設定することができます。
私の場合は、’今月の予定’を月初のAM7:00 – 8:00に設定し、
‘今日の予定’を日次のAM8:00 – 9:00に設定しました。
また予定のない日は一切メッセージを送信しないため、
頻繁にリマインドが来てうざいといったこともないように作っております。
5.感想・今後の展望
無料でこんなに簡単にできて、素晴らしいの一言です。
スクリプトもJSライクだったので、取っ掛かりも特に時間を要することなく、
短時間で作成することができました。(全部で2時間程度)
また、スクリプトに関する情報もたくさんネットに載っていたので独学でもこの程度なら問題なく作ることができました。
また妻からも意外と好評で、今まではざっくりした予定しか追加していなかったのですが、
より詳細なタスク(〇〇の買い物)を追加するようになりました。
GASのデメリットとしては、大規模なシステム開発には向かないかなと考えております。(専用のエディタなどがあれば教えてください。)
今後の展望として、
他のサービスと連携させて、さらに生活を便利にするシステムが作れたらいいな!!
以上です。