LINE Bot を5分で作ってみる (API Gateway 編)

概要

LINE Messaging API と Amazon API Gateway だけで、オウム返しする Bot を作りました。

ふと思ったことを検証したところ、実現できてしまったので記録です。


一言でまとめると、API Gateway で LINE Messaging API 同士を繋ぐ お話です。

f:id:yuu2634:20171221223732p:plain


用意するもの

一から始めるとさすがに5分では作れないため、各種アカウントは既存のものを使います。

  • LINE Developers アカウント
  • AWS アカウント
  • インターネットに繋がる PC


1分: LINE アプリ作成

まずは、Messeging API を新規作成しましょう。

アイコン・名前・説明 などを入力。

今回の内容であれば、プランは Developers Trial でも フリー でも構いません。

f:id:yuu2634:20171221212343p:plain

いらすとや に感謝。ここまでで約1分。


2分: Channel 基本設定

作ったアプリ(チャンネル)を開いて、最低限の設定を投入します。

アクセストークンの発行と、Webhook 送信の有効化。Webhook URL はまだ無いので飛ばします。

f:id:yuu2634:20171221213212p:plain

自動応答メッセージ友だち追加時あいさつ をオフに。

f:id:yuu2634:20171221213401p:plain

画面下部にある QR から友だち追加しておきます。

f:id:yuu2634:20171221214738p:plain

ここまでで約2分。


3分: API Gateway 作成

AWS にログインして、API Gateway を作っていきます。アクセスが来たら、LINE のエンドポイントを呼ぶように設定。

  • 統合タイプ: HTTP
  • エンドポイント: https://api.line.me/v2/bot/message/reply

f:id:yuu2634:20171221214558p:plain

認証用ヘッダを登録。 Authorization: Bearer <アクセストークン>

f:id:yuu2634:20171221220502p:plain

ここまでで約3分。


4分半: マッピングテンプレート作成

LINE に送信するための JSON を作ります。マッピングテンプレートで application/json を新規作成。

f:id:yuu2634:20171221220058p:plain

ソースは以下の通り。LINE から届いた replayToken とメッセージ本文を使います。

ここまでで約4分半。あともう少し。


5分: デプロイ

API Gateway をデプロイして、URL を取得。

f:id:yuu2634:20171221221228p:plain

最初に作った Messaging API にコピペします。

f:id:yuu2634:20171221221531p:plain

これで完成、急げば5分。


まとめ

  • オウム返し LINE Bot を作りました
  • LINE からの Webhook で API Gateway を呼び出して LINE へ返信します

f:id:yuu2634:20171221222315j:plain

単純にメッセージ投稿 API を叩いているだけなので、Slack などの他ツールでも似たようなことが可能です。


参考資料