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 メッセージ送受信とアカウント連携まわり
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Mitsuzono Hiroto
September 27, 2019
Technology
0
130
LINE Messaging API メッセージ送受信とアカウント連携まわり
2019/09/27 AADOJO in Alternative Camp
Mitsuzono Hiroto
September 27, 2019
Tweet
Share
More Decks by Mitsuzono Hiroto
See All by Mitsuzono Hiroto
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
770
ここらでGPSマルチユニットが如何に使いやすいか本気で説明するから聞きなさい
mitsuzono
0
1.5k
Application insightsを用いてAzure AD B2Cをより使いこなす
mitsuzono
0
640
Application Insights と KQL
mitsuzono
0
610
Application Insights と Cosmos DB ―たかがTips、そう思ってないですか?―
mitsuzono
0
84
近頃若者のサーバー離れが深刻化しています
mitsuzono
0
1.1k
新卒、ヘルキャンプとデスマーチへの挑戦
mitsuzono
0
500
Other Decks in Technology
See All in Technology
制約が導く迷わない設計 〜 信頼性と運用性を両立するマイナンバー管理システムの実践 〜
bwkw
3
1.1k
予期せぬコストの急増を障害のように扱う――「コスト版ポストモーテム」の導入とその後の改善
muziyoshiz
1
2.1k
Codex 5.3 と Opus 4.6 にコーポレートサイトを作らせてみた / Codex 5.3 vs Opus 4.6
ama_ch
0
220
[CV勉強会@関東 World Model 読み会] Orbis: Overcoming Challenges of Long-Horizon Prediction in Driving World Models (Mousakhan+, NeurIPS 2025)
abemii
0
150
会社紹介資料 / Sansan Company Profile
sansan33
PRO
15
400k
ECS障害を例に学ぶ、インシデント対応に備えたAIエージェントの育て方 / How to develop AI agents for incident response with ECS outage
iselegant
4
450
生成AIと余白 〜開発スピードが向上した今、何に向き合う?〜
kakehashi
PRO
0
170
CDK対応したAWS DevOps Agentを試そう_20260201
masakiokuda
1
440
学生・新卒・ジュニアから目指すSRE
hiroyaonoe
2
770
今こそ学びたいKubernetesネットワーク ~CNIが繋ぐNWとプラットフォームの「フラッと」な対話
logica0419
5
540
旅先で iPad + Neovim で iOS 開発・執筆した話
zozotech
PRO
0
100
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
4
1.4k
Featured
See All Featured
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.9k
Practical Orchestrator
shlominoach
191
11k
Are puppies a ranking factor?
jonoalderson
1
2.7k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
Accessibility Awareness
sabderemane
0
58
Navigating Team Friction
lara
192
16k
YesSQL, Process and Tooling at Scale
rocio
174
15k
How to build a perfect <img>
jonoalderson
1
4.9k
エンジニアに許された特別な時間の終わり
watany
106
230k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
470
Transcript
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. LINE Messaging
API メッセージ送受信とアカウント連携まわり 株式会社オルターブース 満園 裕人
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 満園
裕人 • 株式会社オルターブース エンジニア • 業務では主に C#(.NET Core)で Webアプリケーション開発 自己紹介
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • LINE
Messaging API • Webhook • メッセージ送信 API • アカウント連携 今日話す内容
Webhook
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 「友だち追加」「メッセージ送信」のようなイベントがトリ
ガーされると、Webhook URLにHTTPS POSTリクエストが 送信される • リクエストには「送信元の情報」や各イベントに応じた「イ ベントオブジェクト」が含まれる Webhook https://developers.line.biz/console/
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • メッセージ
• フォロー • フォロー解除 • アカウント連携 • その他 • グループ参加、退出 • ビーコン • LINE Thingsデバイス連携 • Etc… Webhookイベント種別
メッセージ送信 API
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • Reply
• Webhookイベントオブジェクトに含まれるトークンを使 用して返信(但しすぐ切れるのでタイミングがシビア) • Push • ユーザー、グループ、トークルームに送信 • Multicast • 配列で渡したユーザーID全てに一斉送信 • Broadcast • アカウントを友だち登録している全員に一斉送信 メッセージ送信 API
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • テキスト
• 種別とテキスト文字列のみ • スタンプ • “packageId”と”stickerId”が必要 メッセージオブジェクト https://developers.line.biz/ja/reference/messaging-api/ https://developers.line.biz/media/messaging-api/sticker_list.pdf
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 画像・動画
• パラメータ • 置き場所のURL • サムネイル画像のURL • サイズの上限が決まっている • 音声 • パラメータ • 置き場所のURL • 長さ メッセージオブジェクト
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 位置情報
• トーク画面に地図が表示される • イメージマップ • 画像に複数のタップ領域を設定できる。4分割など • テンプレート • ボタンやカルーセルなどが使用できる • Flex • CSS Flexible Boxによりレイアウトを自由に設定できる メッセージオブジェクト
アカウント連携
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. 1. link
tokenを取得 2. 連携先サービスの ユーザーIDを取得 3. ノンスを生成し、 連携ページへリダイレクト 4. アカウント連携イベントを 受け、ユーザーデータ照合 アカウント連携の流れ https://developers.line.biz/ja/docs/messaging-api/linking-accounts/
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • link
tokenを取得(LINEユーザーIDが必要) • AuthorizationヘッダーにChannel Access Tokenを含め てPOST • https://api.line.me/v2/bot/user/{userId}/linkToken • トークンの有効期限は10分 link tokenを取得
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • 自前Webアプリケーションの連携用ページへ遷移
• LINEメッセージに、URIアクションを設定したテンプ レートメッセージなどを使用すると便利 • 遷移先ではログイン画面を表示 • サービスにログインしたらユーザーIDを保持 連携先サービスのユーザーIDを取得
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • ノンスを生成
• 予測が難しく一度しか使用できない文字列 • ノンスとユーザーIDを紐づけてデータストアへ保存 • ユーザーを以下エンドポイントへリダイレクト • https://access.line.me/dialog/bot/accountLink?linkT oken={link token}&nonce={nonce} ノンスを生成し、連携ページへリダイレクト
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • アカウント連携のWebhookイベントが発火する
• 成功していればLINEのアクセストークン、リフレッシュ トークンを取得しデータストアに残しておく アカウント連携イベントを受け、データ照合
まとめ
Copyright © 2015-2019 ALTERBOOTH inc. All Rights Reserved. • メッセージを受けるとき
• Webhookイベント種別を判別してから展開 • メッセージを送るとき • ReplyまたはPush APIを使用する • 一斉送信の場合はMulticastかBroadcastも活用 • アカウントリンクで他のサービスと連携が可能 LINE Messaging API まとめ