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

Bot

LINE Messaging API と Amazon API Gateway だけで、オウム返しする Bot を作りました。
ふと思ったことを検証したところ、実現できてしまったので記録です。

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

API GatewayでLINE Botを作る

用意するもの

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

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

1分: LINE アプリ作成

まずは、Messeging API を新規作成しましょう。
アイコン・名前・説明 などを入力。

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

LINE Developersに登録

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

2分: Channel 基本設定

作ったアプリ(チャンネル)を開いて、最低限の設定を投入します。
アクセストークンの発行と、Webhook 送信の有効化。Webhook URL はまだ無いので飛ばします。

LINE Bot チャンネル設定

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

自動応答メッセージ・友だち追加時あいさつをOFFにする

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

QRコードからLINE Botを登録

ここまでで約2分。

3分: API Gateway 作成

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

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

API Gatewayのエンドポイント設定

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

認証用ヘッダ(Authorization)を登録

ここまでで約3分。

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

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

LINE Bot用にマッピングテンプレートを設定する

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

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

5分: デプロイ

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

API Gatewayのエンドポイント発行

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

LINE Messaging APIのWebhook設定

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

まとめ

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

API Gatewayで作ったLINE Bot

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

参考資料