サイドスリーブログ

LINEボット(Messaging API+Talk API+HEROKU)作ってみました!①


                LINEボット(Messaging API+Talk API+HEROKU)作ってみました!①

簡単なLINEボットを作ったので、その紹介をします。
LINEのMessageing APIとリクルートテクノロジーズのTalk APIを組み合わせて、自動応答を実現しています。
プログラムを配置するサーバーにはHEROKUというサービスを利用しました。
少し長くなりそうなので、数回に分けて紹介していこうかと。まずは、作成したLINEボットの全体像からです。

全体像

全体図

LINE Messaging API で受け取ったメッセージをTalk APIに投げて、返ってきたきた値をLINE Messaging API に渡してメッセージを返すといった仕組みです。
作成し始めた時はボットの作成には複雑な印象を持っていましたが、上記図にまとめると意外と単純な仕組みでしたね。

今回は、Messagin APIとTalk APIを連携させるプログラムを配置するサーバー、HEROKU(ヘロク)のサービスを紹介したいと思います。

HEROKU(ヘロク)とは?

公式サイトには、「Heroku はアプリの構築、提供、監視、スケールに役立つクラウドプラットフォーム」と紹介されています。
大雑把にまとめると「Ruby、Java、PHP・・・」などの言語に対応した、無料から利用可能なWebサーバが手軽に利用できるといった感じでしょうか。

HEROKUを利用してみて他のサーバーとは異なると感じたのが、ファイルの管理、アップ(公開)にGitを利用していることです。
HEROKUでアプリ(Webサーバ)を作成すると、そのアプリ用のGitリポジトリが用意され、そのリポジトリにpushすると、Webサーバにアップ(公開/デプロイ)されるような仕組みです。HEROKU(ヘロク)を利用するにはGitの知識が少し必要だったりしますが、普段、Gitを利用されている方は凄く便利なサービスではないでしょうか。

それでは、HEROKUの登録方法から紹介します。

HEROKU(ヘロク)の登録方法

HEROKU(ヘロク)を利用するには、まずはアカウント登録です。
公式サイトへアクセスはこちら

新規登録からアカウント登録を行います。

各項目を入力して【 無料アカウント作成 】から登録を行います。

アカウントの確認メールが届くので、そのメールからパスワードを設定すれば登録完了です。

アプリ(Webサーバ)の作成方法

無事アカウントの登録が完了したらHEROKUでアプリ(Webサーバ)の作成です。
それでは、HEROKUにログインしてみましょう。

ログインすると、こんな画面が表示されています。
【 Create new app 】ボタンから、アプリ(Webサーバ)の作成を行います。

「App name」はアプリの名前ですね。HEROKUのURL(アドレス)にもなります。
「Choose a region」は、アプリ(Webサーバ)を設置する地域です。日本国内からのアクセスであれば「United States」を選択ですね。
「choose a pipeline」は、複数のアプリを連携させるのに利用する機能のようです。ここでは特に選択はしません。
後は【 Create app 】をクリックでアプリ(Webサーバ)が作成できます。

それでは、実際に作成したアプリ(Webサーバ)を表示してみましょう。

アプリ(Webサーバ)の表示

ダッシュボードから作成したアプリの情報を確認できます。

作成したアプリ名をクリックして・・・

【 Open app 】をクリックすると・・・

HEROKUのデフォルトのページが表示された状態になっています。
このページが作成したアプリのページ(アドレス)になります。
簡単ですね。これだけのステップでアプリ(Webサーバ)の用意ができました。

それでは続いて、この作成したアプリ(Webサーバ)を操作するための方法を紹介します。
まずは、HEROKUを操作するための「HEROKU CLI」というソフトのインストールです。

HEROKU CLI のダウンロードとインストール

HEROKUのWebサイトより、ソフトをダウンロードしましょう。
https://devcenter.heroku.com/articles/heroku-cli

※HEROKU CLI には、Git が必須
Gitがインストールされていない場合は、先にGit をインストールを行ってください。

Gitがインストールされていれば、ご利用の環境に併せてソフトのダウンロード、インストールを行います。
今回はWINDOWS版をインストールします。

特に何も発生せず、数クリックでインストールできました。
HEROKU CLI のインストールはこれで完了です。

HEROKU CLI からログイン(認証)

HEROKU CLI(コマンド)を利用するために、まず始めにコマンドからログイン(認証)を行う必要があります。
ご利用の環境に併せて、ログインを行います。
今回は、Powershell を開いて以下のコマンドを実行します。

> heroku login

「q」以外のキーを入力すると・・・

ブラウザにHEROKUのログインページが開きます。
【 Log in 】クリックでログイン(認証)します。

Powershell に戻るとログイン(認証)処理が完了しています。
これで、HEROKUを利用する準備が整いました。
最後に、HEROKUで作成したアプリ(Webサーバ)にテストファイルをアップ(デプロイ)して、作成されたアプリ(Webサーバ)に反映されるか確認してみましょう。

HEROKU CLI によるファイルのアップ(デプロイ)方法

まずは、冒頭の管理画面から作成したアプリ名を確認してみましょう。
以下のコマンドでHEROKUに作成されているアプリが一覧で確認できます。

> heroku apps

確認画面から作成したアプリ名が確認できましたね。
以下、コマンドでアプリの情報も確認できます。

> heroku info [アプリ名]

作成したアプリのGitリポジトリのアドレスが確認できます。
このリポジトリにPUSHすることで、ローカルファイルをアップ(デプロイ)・公開することができます。
今回は、git clone のようなことをHEROKUコマンドで実行します。

>heroku git:clone -a sidethree

ローカルにHEROKUアプリのリポジトリのクローン(フォルダ)が作成されましたね。
作成されたフォルダにテストファイルを配置します。

テストファイルの中身はphpinfo()を記述しました。
このファイルをgitコマンドでPUSHします。

これでテストファイルのアップ(デプロイ)ができました。
実際にアプリのページにアクセスしてみて、作成したテストファイルが表示されているか確認してみましょう。

こんな風に作成したテストファイルが表示されていれば成功です。

まとめ

今回は、Messagin APIとTalk APIを連携させるプログラムを配置するためのサーバ(HEROKU)を紹介しました。
HEROKUのサービスは一連の手続きを覚えてしまえば、手軽にプログラム(アプリ)が実行可能なサーバを用意することができますね。
git の学習にも丁度よいサービスではないでしょうか。
次回は、続いてLINE Messaging APIを紹介する予定です。乞うご期待!