はじめに
Line Messaging APIを使った超初心者向けLine Bot作成の手順を記載したものです。
本記事の手順を実施するには、以下のアカウントが必要になります。
- Line Developperアカウント
- AWSアカウント
Messaging APIとは
Line公式ドキュメントによると、**「Messaging APIを使って、ユーザー個人に合わせた体験をLINE上で提供するボットを作成できます。作成したボットは、LINEプラットフォームのチャネルに紐づけます。チャネルを作成すると生成されるLINE公式アカウントをボットモードで運用すると、LINE公式アカウントがボットとして動作します。」**とあります。
つまり、Messaging APIを使用することで、Lineのアプリ(チャネル)とサーバー(ボットサーバー)を連携でき、Line Botが作成できるというわけです。
※Line公式ドキュメントより
簡単なLine Botを作成する
まずは、固定のメッセージを返答するLine Botを作成します。
Line Botは、Line Developperサイトにてチャネルという物を作成し、チャネルを作成した際に表示されるQRコードからLine公式アカウントを友達登録することで作成され、スマホなどのLineアプリからLine Botを使用する事ができるようになります。
上記の作業を行うだけで、ボット用サーバーを用意することなく、固定のメッセージを返答するLine Botを作成する事ができます。
作成手順
1. Line Developperログイン
ここからLineアカウントでLine Developperへログインします。Lineアカウントのユーザ名/パスワードは、スマホなどのLineアプリで登録したメールアドレスとパスワードになります。
まだ、登録していない方は、Lineアプリでメールアドレスとパスワードを登録してください。
2. 新規プロバイダー作成
新規にプロバイダー作成します。プロバイダーとは組織名のことです。任意の名称(本手順ではSample Providerとします)を入力します。
3. チャネル作成
-
プロバイダー作成完了後の画面で、「MessagingAPI」を選択します。
-
必要事項を記入します。
- チャネル名
- 任意の名称を入力してください。
- チャネル説明
- 任意の説明文を入力してください。
- 大業種
- 選択肢の中から選んでください。
- 小業種
- 選択肢の中から選んでください。
- メールアドレス
- 自身のメールアドレスを入力してください。
4. LINE公式アカウントの友達登録
動作確認
これで、固定メッセージを返却するLine Botが完成しました。Lineアプリを開いてメッセージを送信してみてください。
毎回同じメッセージで返答されます。
バックエンド(ボットサーバー)と連携する。
ここからは、バックエンドと連携させていきます。
バックエンドと連携させる事ができれば、AI等をバックエンドで実行させて結果をLineに返すなど、Line Botの機能の幅が格段に拡がります。
本記事では、「こんにちは」というメッセージを受け取ったら「こんにちは」を返し、「おはようございます」というメッセージを受け取ったら「おはようございます」というメッセージを返すバックエンドシステムを構築します。
バックエンドシステムはAWSを利用して構築し、使用するサービスは以下です。
手順(LINE:チャネルアクセストークンの発行)
先程作成したチャネルから、チャネルアクセストークンを発行します。チャネルアクセストークンはバックエンドからメッセージを送信するために必要となります。
1-1. チャネルアクセストークンの発行
手順(バックエンド構築)
AWS Lambda
2-1. Lambdaサービスの選択
AWSコンソールにログインし、Lambdaを選択します。
2-2. 関数作成
関数作成ボタンをクリックし、関数の作成を開始します。
2-3. 関数名の入力とランタイムの選択。
本記事では、関数名は「ReplayMessageFunction」としています。ランタイムはPython3.8を選択してください。
2-4. ソースコード及びライブラリの登録
-
アップロードをクリックし、Lambda関数ファイルをアップロードをします
アップロードするファイルはこちらからダウンロードしてください。
用意したファイルをアップロードすることで、ソースファイル(Python)とPython用LineBotライブラリがアップロードされます。
2-6. 関数の修正
Lmabda関数の6行目にある「<channel access token>」を、手順1-1で発行したチャネルアクセストークンに書き換えてください。
2-7. 修正の反映
Deployボタンをクリックします。修正した内容が反映されます。
これで、Lambdaの設定は完了です。
Amazon API Gateway
3-1. API Gatewayサービスの選択
AWSコンソールにログインし、API Gatewayを選択します。
3-2. API作成
左のメニューからAPIを選択し、APIを作成ボタンをクリックします。
3-3. HTTP APIの構築
HTTP APIの構築ボタンをクリックします。
3-5. 統合サービスの選択
統合するサービスのリストからLambdaを選択します。
3-6. 必要事項の入力
AWSリージョン・Lambda関数・API名を入力/選択して、次へボタンをクリックします。
Lambda関数は、先の手順で作成したLambda関数を選択します。
その他については、以下を設定します。
- AWSリージョン:ap-northeast-1
- API名:replayMesssage
3-7. ルートの設定
メソッドは「POST」を選択、リソースパスは「/replayMessage」を入力し、次へボタンをクリックします。
3-8. ステージの定義
ここは何も変更せず、次へボタンをクリックします。
3-9. 設定内容の確認
設定内容を確認し、作成ボタンをクリックします。
3-10. 発行されたURLの確認
次の手順でURLを使用しますので、メモしておきます。
これで、API Gatewayの設定は完了です。
手順(LINE:Webhookの設定)
4-1. Webhookの設定
-
3-10で発行されたURLと、3-7で設定したリソースパスを組み合わせたURLを入力します。
例:https://XXXXXXXXX.execute-api.ap-northeast-1.amazonaws.com/replyMessage
4-2. Webhookの有効化
Webhookの利用ボタンをクリックして有効化します。
4-3. メッセージの無効化
応答メッセージ及びあいさつメッセージを無効化します。
「簡単なLine Botを作成する」で固定メッセージを応答するLine Botを作成しましたが、この機能が有効化していたことで、自動で応答メッセージを返していました。
バックエンドから応答メッセージを返しますので、この機能は無効化しておきます。
これで設定はすべて完了です。Lineアプリからメッセージを送信してみてください。
まとめ
Line DeveloperとAWSでLine Botを作成してみました。
ローコーディングでサービスを構築でき、また、普段使用しているアプリを使ってUIを構築する事ができることは、ユーザーにとっては使用するさいの学習コストが少なくてすみます。さらにバックエンドとしてAWSを利用することで、開発コストも抑える事ができます。