1. TOP
  2. ブログ
  3. Line Messaging APIを使ってみた

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コードを読み込ませて、公式アプリを追加します。
何か文字を打ってみましょう。

    ホワイトペーパーフォームバナー

    【DL可能な資料タイトル】

    • ・プログラムによる建築/土木設計のQCD(品質/コスト/期間)向上
    • ・BIM/CIMの導入から活用までの手引書
    • ・大手ゼネコンBIM活用事例と建設業界のDXについて
    • ・デジタルツイン白書
    • ・建設業/製造業におけるデジタルツインの実現性と施設管理への応用

    詳細はこちら>>>

    PAGE TOP