ヤマムギ

growing hard days.

*

LINE Bot APIのファーストステップをLambda+API Gatewayでやってみたらものすごく簡単で驚いた

   

トライアル当初はホワイトリストのしばりや、初回反応するまで時間がかかったりとみなさん困っていたようですが、遅ればせながらやってみると色々解消されているようで、すさまじく簡単に、Botのハローワールド、Lチカともいえるオウム返しが確認出来ましたので一応メモ。

本記事の情報は2016/8/14時点のものです。

line-lambda

Lambda(Python)のコード

GitHubはこちらです。

Headersの各値

LINE Developersのアカウント画面からコピペします。

  • X-Line-ChannelID : チャンネルID
  • X-Line-ChannelSecret : チャンネルシークレットキー
  • X-Line-Trusted-User-With-ACL : チャンネルMID

bot宛に送信されたメッセージをevent[‘result’][0]で取得してます。
textにメッセージ内容とfrom_idにLINEのIDを取得してます。

  • to : 150ユーザーが上限の配列
  • toChannel : 1383378250が共通固定値
  • eventType : ‘138311608800106203’が共通固定値
  • contentType : 1 Text,2 Image,3 Video,4 Audio,7 Location
  • toType : 1 toUserそれ以外は不明

LambdaとAPI Gatewayの設定

何も特別な事はいりません。

上記のコードをrequestsモジュールとまとめていつものようにzipをアップロードするだけです。

API Gatewayもレスポンスやリクエストの設定は何も変更していません。

LINE側の設定

Callbak URLにAPI GatewayのエンドポイントURLを指定します。

が、そのままではセキュリティがだめ、って怒られるので、ポート番号443をつけます。

具体的には、「amazonaws.com」を「amazonaws.com:443」ってします。

これだけでオウム返しが出来ました。

この先は送信されたメッセージをどう扱うか、
どういった内容を送信するか、
コーディングしてけばいいと思います。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。

「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS , , , ,

  関連記事

Kinesis Data Analyticsの検索結果をKinesis Data FirehoseからS3バケットに保存する

Kinesis Data AnalyticsをKinesis Data Stre …

AWS Organizations組織の移動

AWS Organizations組織の移動 やりたいことは、Organizat …

RDS for MySQL のインスタンスタイプ変更

当ブログのデータベースは、RDS for MySQLです。 個人利用ですし、障害 …

LMA(amazon-transcribe-live-meeting-assistant)を海外とのインタビューミーティングで使ってみました

amazon-transcribe-live-meeting-assistant …

AWS Summit 2016 Tokyoに参加してきました (Day2)

馬込は非常に良い天気です。 泊まっている部屋が2Fでしたので窓を明けると歩いてい …

AWS Summit Tokyo 2017 Day3 開場~基調講演~Dev Day Night

AWS Summit Tokyo 2017 参加2日目のDay3です。 基調講演 …

TuneCoreの売上データCSVをS3に格納してAthenaのクエリをRe:dashのデータソースにして可視化する

先日参加しましたAWS Summit Tokyo 2017で、 [JapanTa …

AWSマネジメントコンソールのマルチセッションサポート

AWSマネジメントコンソールにマルチセッションサポートが追加されましたので使いま …

Rocket.ChatにAPIで投稿するテスト(Postman)

トレーニング期間中で一時利用するチャットが欲しいなあと思い、Rocket.Cha …

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …