ヤマムギ

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」ってします。

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

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

@yamamanx
開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。 質問はコメントかSNSなどからお気軽にどうぞ。 出来る限りなるべく答えます。 このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。 また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - AWS , , , ,

ad

ad

Message

メールアドレスが公開されることはありません。

  関連記事

Amzon Linux のApacheでRedmineとWordPressをバーチャルホストで共存する

EC2とRDSを節約しようと思いまして、Redmineを動かしてるとこに検証用W …

EC2のAMIとRDSのスナップショットを他のAWSアカウントに共有してブログサイトをAWSアカウント間で引っ越す

当ブログで使用しているEC2とRDSを環境の整理のため、他のAWSアカウントへ引 …

2017年、このブログ(WordPress(Amazon EC2 + RDS))で対応してきたこと

Amazon Web Services Advent Calendar 2017 …

AWS RDS でMySQLインスタンスを構築する

Amazon Web ServiceにはAmazon Relational Da …

AWS Summit 2017 Tokyo Day2 開場~基調講演

昨年に引き続き今年もAWS Summit Tokyoへ行ってきました。 朝一の新 …

AWS EC2 Amazon Linux にEC-CUBE3をnginx+MySql環境へインストール(手順検証中)

EC2インスタンスを作成する 少し古い記事で恐縮ですが試したい事があるのでAWS …

「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました

AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …

AWS EC2 Amazon Linuxにmauticをインストールする(Sendgrid, Nginx, MySQL on RDS)

mauticをAmazon LinuxとNginx,MySQL on RDSにイ …

Amazon EC2のAMIイメージを自動取得して保持日数が過ぎたら削除

画像の保存をEC2に戻した事もあってEC2のバックアップの自動取得を勉強がてらや …

AWS Summit Tokyo 2017 聴講したセッションのメモ

2017年6月に参加しましたAWS Summitで聴講したセッションのメモを記し …