調べて、学ぶ

検索したり実験したことを覚えとくブログ

googleAPIを駆使するLINEbotサービスを作った #1

【概要】困っているトモダチのためにLINEbotを作った。

こんな動きをします。
gmailで届くスケジュールを読み取ってgoogleカレンダーに登録
googleカレンダーに登録した内容をLINEbotから(botを友達登録した人に)お知らせする
・LINEbotからお知らせを受けたユーザは、LINEbotへの返答でgoogleカレンダーを更新する

➡︎メールで届く”担当者不在のredmineチケット”をLINEbot登録者に横流しして、担当者を募るイメージでOKです。

【イメージ】

f:id:docoka_dareka:20200628224101p:plain
botイメージ

【技術的な部分】

今回の仕掛けはユーザの代わりにgoogleAPI(webサービス)を叩くLINEbot(webアプリ)なので、とにかくHTTPを話せる言語が必要。 筆者の手持ちの武器は

  • VB(6.0)とVBAとvbsは呼吸するように書く:今回においては全く使えない
  • VC++(6.0)はソース見ればなんとなく書ける:〃
  • php(4.0)はソース見ればVCよりは書ける:使えなくもないけど辛い
  • html(4.0),css(2.0)はたまにリファレンス見る程度:今回においては不要
  • js(ES5なら)たまにリファレンス見る程度:今回における初めての光明

→年齢が伺われますねぇ

ということで、幸い勉強中だったnode.jsでゴリゴリすることに。


LINEbotのチュートリアルは、やってみた系の話がたくさん見つかります。 雰囲気がわかりやすかったのはここ

Qiita:1時間でLINE BOTを作るハンズオン (資料+レポート) in Node学園祭2017 #nodefest

これに従うだけでnode.jsによるLINEbot(ユーザの問いかけに”反応”する)が作れるようになります…が、botから問いかけて「ユーザの応答を処理する」方法が書かれてないため、一方的に話す独りよがりなbot(Lv1)になってます。

f:id:docoka_dareka:20200629000504p:plain
botレベル1(返事を受け取れない)
ここでしばらく時間を使ってしまいましたが、調べ続けたら答え発見。

JS初心者がAWS Lambdaで実装するLINE Bot〜「オウム返し」の一歩先〜

なるほど。イベントのtypeが「postback」なものを受け取れば良いのか…

#2へ続く