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
300
0
Share
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
connpassで開催された【初心者・初登壇Welcome!LINEを使ったLT大会 #11】における発表資料です。
Takuma Koike
February 26, 2025
Other Decks in Programming
See All in Programming
TypeScriptだけでAIエージェントを作る フロント・エージェント・インフラのフルスタック実践
har1101
5
720
20260514_its_the_context_window_stupid.pdf
heita
0
1.1k
エラー処理の温故知新 / history of error handling technic
ryotanakaya
7
1.9k
ビジネスモデルから紐解く、AI+型駆動開発
hirokiomote
2
500
AI時代になぜ書くのか
mutsumix
0
430
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.7k
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
250
継続的な負荷検証を目指して
pyama86
3
1.2k
RailsTokyo 2026#4: AI様があれば、 Hotwireの弱点は消えるか?
naofumi
3
450
AgentCore Optimizationを始めよう!
licux
3
260
いつか誰かが、と思っていた フロントエンド刷新5年間の実践知
kiichisugihara
1
290
AI駆動開発勉強会 広島支部 第一回勉強会 AI駆動開発概要とワークショップ
hayatoshimiu
0
250
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.8k
Designing for Performance
lara
611
70k
We Are The Robots
honzajavorek
0
230
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
A Tale of Four Properties
chriscoyier
163
24k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
550
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
150
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Building an army of robots
kneath
306
46k
Speed Design
sergeychernyshev
33
1.7k
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ください