• AI

Line Messaging APIを使ってみた


前回登録を済ませたLine Messaging APIを呼び出すウェブアプリを作成します。今回はPythonを使って作ってみることにします。サーバーはAmazon EC2で立てます。

GitHubで公開されているLINE Messaging APIのサンプルコードから、エコー返すだけのFlaskアプリをダウンロードします。
https://github.com/line/line-bot-sdk-python/tree/master/examples/flask-echo

FlaskとはPython用のウェブアプリフレームワークのひとつで、ライトウェイトなことが特徴です。

プログラム中の下記の部分をLINE Business Centerで登録した内容に変えておきます。
channel_secret = os.getenv(‘LINE_CHANNEL_SECRET’, None)
channel_access_token = os.getenv(‘LINE_CHANNEL_ACCESS_TOKEN’, None)

ここで、Amazon EC2にサーバーを構築します。

(1)下記を参考に、Amazon マシンイメージに新しいインスタンスを作成します。

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/EC2_GetStarted.html
ステップ1
「クイックスタート」から「Ubuntu Server 16.04 LTS (HVM), SSD Volume Type – ami-be4a24d9」を選択します。
ステップ2
t2.microを選んで「確認と作成」
ステップ7:インスタンス作成の確認
セキュリティグループの編集(ステップ6を開く)
「ルールの追加」でHTTPとHTTPSを追加し、「確認と作成」
(2)sshで接続する
下記は接続するための秘密キーを.ssh/aws1.pemに保存した場合の例です。MacやLinuxなら簡単です。WindowsでもCygwinや、Windows 用のOpenSSHが利用できます。
ssh -i .ssh/aws1.pem ubuntu@ここに作成したサーバーのホスト名を入れます

(3)Apacheとmod-wsgiをインストール

ApacheからPythonのウェブアプリ用の規格であるWSGIを呼び出すための設定をします。

sudo apt-get update
sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi

ここで、サーバーへのHTTP接続を確認してください。

(4)Python環境の作成

sudo apt-get install python-pip
sudo pip install flask
sudo pip install line-bot-sdk

mkdir ~/pricebot
sudo ln -sT ~/pricebot /var/www/html/pricebot
mkdir ~/pricebot/data
chmod 777 ~/pricebot/data

上記で作成した~/pricebot以下に、先ほどGitHubからダウンロードしたプログラムをpricebot.pyとしてアップロードします。さらに、同じフォルダーにpricebot.wsgiを下記の内容で作成します。

import sys
sys.path.insert(0, ‘/var/www/html/pricebot’)

from pricebot import app as application

sudo vi /etc/apache2/sites-enabled/000-default.conf
上記コマンドで/etc/apache2/sites-enabled/000-default.conf を編集し、DocumentRoot /var/www/html の直後に下記を追加する。
WSGIDaemonProcess pricebot threads=5
WSGIScriptAlias / /var/www/html/pricebot/pricebot.wsgi

WSGIProcessGroup pricebot
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all

Apache2を再起動します。
sudo apachectl restart

(5)SSLの設定

AWSでロードバランサーを作成し、HTTPS通信を(4)までで作成したサーバーへのHTTP通信に変換できるように設定します。AWSのCertificate Managerを使えば、無料のサーバー証明書を作成してロードバランサーに割り当てることができます。

(6)LINE Business CenterにURLを設定

作成したウェブアプリのURLをbotの設定画面に登録して準備は完了です。

LINEにbotのQRコードを読み込ませて、公式アプリを追加します。
何か文字を打ってみましょう。


関連記事一覧

we love develop
アプリやシステムの開発を通じて、お客様のビジネスを成長させることが私たちのビジネスです。お気軽にお問い合わせください。
 お問い合せ

お電話でのお問い合わせはこちらから
TEL:03-5297-2871

メールマガジンの登録

キャパでは誰かに話したくなるようなIT小ネタを、週に一回メルマガで配信しています。
ぜひ購読してみませんか?
 購読する

記事カテゴリ記事カテゴリ

月別投稿記事

PAGE TOP