C#で開発するLINE Botアプリケーション(環境構築:Visual Studio 2017 + Azure Functions編)
この記事では、Visual Studio 2017とAzure Functionsを使用してLINE Bot アプリケーションを開発を行う手順を解説します。
1.Azure アカウント、LINE@ アカウントの準備
Microsoft Azure アカウント
Microsoft Azureのアカウントを持っていない場合は、作成しておきます。
Azure Functions では無料のサービスプランを選択することはできないため、3000円/月のクレジットが1年間付いてくる「Visual Studio Dev Essentials」の利用をお勧めします。
LINE@アカウント
LINE Messaging API を利用するLINE@アカウントを作成します。
作成や設定の手順はこちらの記事の「LINE のセットアップ」を参照ください。 - qiita.com
2.プロジェクトテンプレートをインストールし、LINE Bot Function のプロジェクトを作成する
Visual Studio Market Placeから「LINE Bot C# Template」をインストールします。
以下のリンクで「Download」をクリックしてダウンロードしたVSIXファイルを実行するか、Visual Studioのメニュー[ツール]-[拡張機能と更新プログラム...]から「LINE Bot C# Template」を検索してインストールします。 marketplace.visualstudio.comインストール後、Visual Studio 2017 を起動し、メニューから[ファイル]-[新規作成]-[プロジェクト]を選択します。
- 「新しいプロジェクト」ダイアログで[Visual C#]-[Cloud]のカテゴリ内にある「LINE Bot Function」を選択します。
- プロジェクト名を入力し、「OK」をクリックします。(ここで入力したプロジェクト名が作成するAzure Functionの関数名の既定値となります。)
3.作成されたプロジェクトをビルドする
メニュー[ビルド]-[ソリューションのビルド]を選択し、ビルドエラーがないことを確認します。
4.ビルドしたFunctionをAzureに発行する
- 次の画面で「Azure 関数アプリ」-「新規作成」を選択し、 「発行」をクリックします。
- App Serviceの作成ダイアログで、作成するFuncsion App Serviceの設定を行います。
- リソースグループ、サービスプラン、ストレージアカウントは既存のものを選択するか新規に作成します。
- この画面の設定方法については「Visual Studioを使用してはじめての関数を作成する」を参照ください。
- 「作成」をクリックするとAzure FunctionのApp Serviceが作成され、そこにビルドしたアプリケーションが発行されます。
5.LINE Developpersに、作成したFunctionのURLを登録する。
LINE Developers Console で、作成したBotアカウントを選択し、Channel基本設定画面を開きます。
- メッセージ送受信設定の「Webhook送信」を「利用する」に設定します。
- 「Botのグループトーク参加」を「利用する」に設定します。
- 「Webhook URL」に、作成したFunctionのURLを入力します。
入力するAzure FunctonのURLは、既定では『https://{App ServiceのApp Name}.azurewebsites.net/api/{Function名}』となります。
- LINE@機能の利用の「自動応答メッセージ」及び「友だち追加時あいさつ」を「利用しない」に設定します。
また、この画面に記載されているChannel Secret とアクセストークンの値は、この後の設定で必要となりますので確認しておきます。
6.LINE Messaging APIの 「Channel Secret」および「Channel Access Token」をアプリケーション設定に登録する
- Azureポータルで、作成したAzure Functionを選択して[Application Settings]画面を開きます。
- アプリケーション設定の一覧に、先ほどのChannel基本設定画面で確認した「Channel Secret」と「Channel Access Token(アクセストークン(ロングターム))」を追加します。
7.デバッグ情報通知用に自分のLINEアカウントを設定する
アプリケーション内のエラーの情報やデバッグ情報の通知先として、自分のLINEアカウントのUserIDを登録します。User IDは、Channel基本設定ページの一番下に記載されています。
これを、「DebugUser」という名前で、Azure Functionのアプリケーション設定に追加します。
8.動作確認
確認する端末でBOTアカウントを友達登録(※)し、メッセージを送ってみましょう。
送信したメッセージと同じ内容がBOTアカウントから返信されればOK。設定完了です。
(※)Channel基本設定(LINE Developpers)画面に表示されるQRコードを読み取ることで友達登録が可能です。