Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
LINE Works Bot入門
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
マグロ隊長kinTV
December 06, 2024
Technology
150
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
LINE Works Bot入門
メリークリスマス!若手エンジニアふんわりLT Night!の資料です。
https://wakate-funwari-study.connpass.com/event/333619/
マグロ隊長kinTV
December 06, 2024
More Decks by マグロ隊長kinTV
See All by マグロ隊長kinTV
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
390
感動を貰う側から与える側へ -アイドルマスターミリオンライブから学ぶCfPに挑むと言うこと-
maguroalternative
1
580
useEffectってなんで非推奨みたいなこと言われてるの?
maguroalternative
11
8k
React19.2のuseEffectEventを追う
maguroalternative
2
1.2k
UDDのススメ - 拡張版 -
maguroalternative
2
1.9k
遊戯王GX 丸藤兄弟から学ぶ成長
maguroalternative
1
220
UDDのすすめ
maguroalternative
0
1.5k
めぐろLT#21 今年一番の仕事の成果
maguroalternative
0
160
DiscordBotをPythonからGoへリプレイスした話
maguroalternative
1
230
Other Decks in Technology
See All in Technology
Kiro Crewで「みのるん式」仕事術やってみた
minorun365
PRO
3
1k
PHPカンファレンス関西の招待状 / Invitation to PHP Conference Kansai
ykanoh
0
220
~最速でビジネスインパクトを創出する~ Sansanのデータ基盤と活用事例
sansantech
PRO
0
120
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
350
React改造してみた
tsukina_7mochi
0
150
AI × アーキテクト 第1・2章|生成AIの課題とアーキテクトの素養
daidaidai
1
230
「エーアイ」をバズワードにしないために RPA 導入経験と Kiro 上での Claude モデル利用経験から
kazzpapa3
0
120
小規模OSSモデルは サイバーセキュリティ業務に どこまで使えるか
bbrbbq
0
190
Active Record Connection Adaptersにおける長年の課題に再び取り組む
yahonda
0
410
dbt Semantic Layerで進めるenechainのデータ民主化
akizhou
1
220
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
150
オントロジーって 結局なにもの? AI エージェントに「意味」を渡す知識設計の話
greenmidori
0
260
Featured
See All Featured
The Mindset for Success: Future Career Progression
greggifford
PRO
0
540
The untapped power of vector embeddings
frankvandijk
2
1.9k
4 Signs Your Business is Dying
shpigford
187
23k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
We Are The Robots
honzajavorek
0
400
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
890
A Soul's Torment
seathinner
8
3.8k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
740
Building Flexible Design Systems
yeseniaperezcruz
330
41k
HDC tutorial
michielstock
2
970
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
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になれてる人はトークン発行さえできれば使いやすいかも。