Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
LINE Works Bot入門
Search
マグロ隊長kinTV
December 06, 2024
Technology
0
98
LINE Works Bot入門
メリークリスマス!若手エンジニアふんわりLT Night!の資料です。
https://wakate-funwari-study.connpass.com/event/333619/
マグロ隊長kinTV
December 06, 2024
Tweet
Share
More Decks by マグロ隊長kinTV
See All by マグロ隊長kinTV
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
10
6.4k
React19.2のuseEffectEventを追う
maguroalternative
2
910
UDDのススメ - 拡張版 -
maguroalternative
1
1.1k
遊戯王GX 丸藤兄弟から学ぶ成長
maguroalternative
1
94
UDDのすすめ
maguroalternative
0
1.2k
めぐろLT#21 今年一番の仕事の成果
maguroalternative
0
110
DiscordBotをPythonからGoへリプレイスした話
maguroalternative
1
190
Golangのデータベーステストフィクスチャ作成
maguroalternative
0
380
DiscordとLINEをPython+FastAPI+Dockerで連携させる
maguroalternative
0
430
Other Decks in Technology
See All in Technology
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
280
Oracle Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
0
180
コミューンのデータ分析AIエージェント「Community Sage」の紹介
fufufukakaka
0
420
21st ACRi Webinar - Univ of Tokyo Presentation Slide (Shinya Takamaeda)
nao_sumikawa
0
120
小さな判断で育つ、大きな意思決定力 / 20251204 Takahiro Kinjo
shift_evolve
PRO
1
560
20251209_WAKECareer_生成AIを活用した設計・開発プロセス
syobochim
4
1.2k
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
230
Ryzen NPUにおけるAI Engineプログラミング
anjn
0
250
たかが特別な時間の終わり / It's Only the End of Special Time
watany
28
7.9k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
200
Karate+Database RiderによるAPI自動テスト導入工数をCline+GitLab MCPを使って2割削減を目指す! / 20251206 Kazuki Takahashi
shift_evolve
PRO
1
450
ガバメントクラウド利用システムのライフサイクルについて
techniczna
0
170
Featured
See All Featured
Unsuck your backbone
ammeep
671
58k
Raft: Consensus for Rubyists
vanstee
141
7.2k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
Six Lessons from altMBA
skipperchong
29
4.1k
Docker and Python
trallard
47
3.7k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
The Pragmatic Product Professional
lauravandoore
37
7.1k
The Cult of Friendly URLs
andyhume
79
6.7k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
Typedesign – Prime Four
hannesfritz
42
2.9k
Transcript
LINE Works Bot入門 2024/12/6 メリークリスマス!若手エンジニアふんわり LT Night! マグロ
自己紹介 名前:マグロ/佐々木陽貴(sasaki haruki) 所属:株式会社くふうカンパニー (24卒サーバーサイド) X(旧Twitter):@sigumataityouda GitHub:@maguro-alternative コメント:isucon間近でドキドキ
皆さん突然ですが
メリークリスマス!!!
プレゼントもらいましたか? 僕はこんなプレゼントが...
LINE Notify終了
LINE Notifyとは? • LINEに通知を送るだけのサービス。 (画像はLINE Notify公式のもの)
LINE Notifyとは? • Messaging APIよりも送れる件数が多く、重宝されていた。 ◦ Messaging APIは月200件、LINE Notifyは1時間に1000件。
LINE Notifyとは? • 個人で作ってた Discord→LINEの連携で重宝してた ためショックが大きい。
代替え探し • Discordは❌ ◦ 利用者の多くは Discordの通知はメンションだけにしたいと言う理由で利用。 • LINE Messaging APIも❌
◦ 月200件の制約がきつく、代替が効かない。 • LINE front-end framework(LIFF)も❌ ◦ 通知としての利用は利用規約で禁止されている。 ▪ そういった挙動は見つけ次第 Banされる。
LINE Worksへ • LINEのビジネス用チャットツール。 • LINEと別物だが、LINEアカウントがあれば利用可能。 • 個人利用も可能。 • グループ内であればAPIに制限なし。
これだ!!!!!!!!!!!!!!!!!!!!
LINE Works Bot 入門 (とりあえず送受信)
APIの流れ • 参照:https://developers.worksmobile.com/jp/docs/api
APIの流れ • アクセストークンの発行は OAuth2.0の方針に従っている。 ◦ Botを仮想管理者として扱うためらしい。
APIの流れ • 有効期限があるため、無効になったら再発行をしなければならない。 ◦ アクセストークンの有効期限は 24時間、リフレッシュトークンの有効期限は 90日。 ◦ LINE NotifyやMessaging
APIのトークンは期限が無かったので、ここが大きな違いかも。 •
APIの流れ • 認可はJWTで行う。
APIの流れ とりあえずJWT発行してトークンを取得してみる。
APIの流れ 無事発行出来たっぽい。 (アクセストークンは有効期限が切れているので隠してません。 )
APIの流れ • 発行したトークンでBotを操作する。
APIの流れ 「{Reply text}」というメッセージを送ってみる。
APIの流れ 無事出来たっぽい。 チャット画面
APIの流れ 次の日試したら無事失敗したっぽい。 (アクセストークンの有効期限が切れたため ) 送信用のコンソール
APIの流れ というわけでリフレッシュトークンを使って再発行もしてみ る。
APIの流れ 発行出来てそう。 (こちらもトークンの有効期限が切れているので隠しません。 )
メッセージ受信の流れ • 参考:https://developers.worksmobile.com/jp/docs/bot-callback
メッセージ受信の流れ • サーバー側でメッセージを受け取る。 ◦ この辺はMessaging APIと同じ。
メッセージ受信の流れ • 今回はこの署名検証で受け取れるか試す。
メッセージ受信の流れ • リクエストヘッダーの X-WORKS-Signature に含まれる署名を検証 ◦ Bot Secret を秘密鍵として利用し、メッセージサーバーから送られたリクエストボディを HMAC-SHA256
アルゴリズムでエンコード。 ◦ 上記をBase64 エンコード。 ◦ これをX-WORKS-Signaturetと比較。 サーバー側 署名検証
メッセージ受信の流れ いけてそう 送受信おっけい
まとめ • LINE Works Botは仮想管理者。 ◦ トークンには有効期限があるので、再発行の準備はすること。 • その他の使い勝手はMessaging APIに結構似ている。
◦ Messaging APIになれてる人はトークン発行さえできれば使いやすいかも。