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
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
740
Webの外へ飛び出せ NativePHPが切り拓くPHPの未来
takuyakatsusa
2
560
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
14k
AI Agent 時代のソフトウェア開発を支える AWS Cloud Development Kit (CDK)
konokenj
3
280
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
120
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
140
おやつのお供はお決まりですか?@WWDC25 Recap -Japan-\(region).swift
shingangan
0
140
効率的な開発手段として VRTを活用する
ishkawa
0
150
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
2
120
Deep Dive into ~/.claude/projects
hiragram
14
2.6k
RailsGirls IZUMO スポンサーLT
16bitidol
0
190
NPOでのDevinの活用
codeforeveryone
0
860
Featured
See All Featured
Balancing Empowerment & Direction
lara
1
440
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
GraphQLとの向き合い方2022年版
quramy
49
14k
Building Adaptive Systems
keathley
43
2.7k
GitHub's CSS Performance
jonrohan
1031
460k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
How to Ace a Technical Interview
jacobian
278
23k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
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ください