Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
Search
Takuma Koike
February 26, 2025
Programming
0
110
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
connpassで開催された【初心者・初登壇Welcome!LINEを使ったLT大会 #11】における発表資料です。
Takuma Koike
February 26, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
もう少しテストを書きたいんじゃ〜 #phpstudy
o0h
PRO
17
4k
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
pylint custom ruleで始めるレビュー自動化
shogoujiie
0
150
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
200
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
270
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
160
仕様変更に耐えるための"今の"DRY原則を考える
mkmk884
9
3.2k
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.3k
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
230
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Site-Speed That Sticks
csswizardry
4
410
Documentation Writing (for coders)
carmenintech
67
4.6k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
How to train your dragon (web standard)
notwaldorf
91
5.9k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
100
18k
Building an army of robots
kneath
303
45k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Designing for Performance
lara
604
68k
Transcript
LINE messaging APIを使って Googleカレンダーと連携した 予約ツールを作ってみた 2025年2⽉25⽇ 初心者・初登壇 Welcome!LINEを使ったLT大会 #11
各リンク情報 今回のQiita記事 ソースコード (GitHub) Xアカウント 気軽にDMください
本⽇のメニュー ⾃⼰紹介 作成したものの紹介 ⼯夫した点 ハマった点‧苦戦した点 まとめ
⾃⼰紹介 札幌タクマ(X:@kuma_radcof) ‧作業療法⼠ ‧GASエンジニア ‧PCスクール講師 など 3児の⽗
作ったもの ‧LINE messaging APIを 利⽤した簡易予約bot LINEとのやりとりから ‧スプレッドシート ‧Googleカレンダー へ作成情報を保管
作ったもの:全体の流れ 1. ユーザーから送られるメッセージ(今回は『予約』というテキスト)に 応じて公式LINEから応答メッセージを送る形でスタート 2. 数回のやりとりで『⽇にち』『時間』『⼈数』『代表者名』『電話番号』を 取得していく 3. 予約内容を確定させたらスプレッドシートにデータを保管 4.
さらにGoogleカレンダーにも予定を登録
⼯夫した点:LINE messaging APIの利⽤に関連して 公式LINEからのメッセージ送信は 有償のもの‧無償のものがある 公式LINEの有償メッセージは 無料プランだと200通/⽉ 無償:応答メッセージ 引⽤:https://campus.line.biz/line-official-account/courses/functions/lessons/oa-2-1-3
⼯夫した点:LINE messaging APIの利⽤に関連して 200通/⽉の上限ということは 登録者数 1⼈ → 200通送信可能 100⼈ → 2通送信可能(全員に送信すると仮定) 10⼈ → 20通送信可能 ※いずれも⽉間に配信可能な数
⼯夫した点:LINE messaging APIの利⽤に関連して 上限を気にせずユーザーとコミュニケーションするためには 応答メッセージを活⽤してみると良い 応答メッセージの送信 Reply tokenを利⽤ → Webhookイベントで取得 テキスト以外でも送ることは可能
Reply Tokenのイメージ ⼯夫した点:LINE messaging APIの利⽤ ユーザーがメッセージ送信すると 右のような情報が Webhook情報として作成される
ハマった点‧苦戦した点 そもそもWebhookって?スプレッドシートのwebアプリ化って?doPostって?み たいなところからスタートして何回かチャレンジしてはうまくいかずといった経 験をしてました。(先⼈たちはすごい…) ‧メッセージ送信時のオブジェクト作成⽅法 ‧ユーザーからの情報をどのようにして保管して活⽤するのか (都度スプレッドシートに書き込むのはよろしくない)
ハマった点‧苦戦した点 ユーザーからの情報を どのようにして保管して 活⽤するのか →GASのCacheserviceを活⽤ することで解決
ハマった点‧苦戦した点 ユーザーIDに応じたキャッシュデータを取得 →キャッシュデータがなければ(初回対応)空のオブジェクトデータを作成 →キャッシュデータが存在していれば都度情報を上書きしていく
ハマった点‧苦戦した点 予約のステップごとにキャッシュを更新し、ステップに合わせた対応を進める
まとめ • LINE messaging APIの中でもReply tokenを利⽤したメッセージのやり取り でできる簡易予約botを作成した • 応答メッセージを活⽤することで無料枠内でのメッセージ送信が可能 •
ユーザー情報を保管するにはGASのCacheserviceを活⽤すると便利
各リンク情報 今回のQiita記事 ソースコード (GitHub) Xアカウント 気軽にDMください