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
200
LINE messaging APIを使ってGoogleカレンダーと連携した予約ツールを作ってみた
connpassで開催された【初心者・初登壇Welcome!LINEを使ったLT大会 #11】における発表資料です。
Takuma Koike
February 26, 2025
Tweet
Share
Other Decks in Programming
See All in Programming
猫と暮らす Google Nest Cam生活🐈 / WebRTC with Google Nest Cam
yutailang0119
0
140
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
650
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
230
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
160
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
120
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
Deep Dive into ~/.claude/projects
hiragram
14
2.6k
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
730
Porting a visionOS App to Android XR
akkeylab
0
470
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
130
ニーリーにおけるプロダクトエンジニア
nealle
0
840
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
89
30k
Featured
See All Featured
Speed Design
sergeychernyshev
32
1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Building Adaptive Systems
keathley
43
2.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
18
970
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Thoughts on Productivity
jonyablonski
69
4.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
RailsConf 2023
tenderlove
30
1.1k
Building an army of robots
kneath
306
45k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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ください