概要
C#でLINEのMessaging APIを利用したWebhook
を作成した際の私的メモです。
ライブラリは下記のものを利用しました。
https://github.com/pierre3/LineMessagingApi
※Bot作成に必要な公式アカウント(というかアクセストークン等一式)は取得済みである前提です。
まだ未取得の方はこちらから公式アカウントを作成してください。
環境
- Windows8.1
- Visual Studio2017
- Ngrok(ローカルデバッグ時に必要)
拡張機能の追加
Visual Studio
を起動して[ツール]→[拡張機能と更新プログラム]からLINE Bot C# Template
をインストールします。
"LINE BOT"とかで検索すると出てきます。
テンプレートを用いてプロジェクトを作成
インストールした拡張機能のテンプレートを使ってプロジェクトを新規作成します。Visual Studio
で[ファイル]→[新規作成]→[プロジェクト]からLINEBotApplication
を選択し[OK]を押下。
※[ソリューションのディレクトリを作成]はチェックを入れておく。
設定の変更
Web.config
内の下記の値を変更してください。それぞれ、LINE公式アカウントのSecret
,アクセストークン
,Azureのストレージの接続文字列
です。
- ChannelSecret
- ChannelAccessToken
- StorageConnectionString
※私はAzure周りは使用しなかったためStorageConnectionString
は入力していません。その場合、ソースコードでStorageConnectionString
を参照している箇所を削除する必要があります。
実行
設定の変更が完了したらもう実行できます。
ブラウザが立ち上がり、localhost:1590
が表示されたら成功です。
ローカルデバッグ
ローカルデバッグをする際はNgrok
を使用しました。
下記コマンドを実行するだけです。
ngrok.exe http --host-header=localhost:1590 1590
Forwarding
の前半部分をコピーして、LINE公式アカウントのWebhook URL
に設定します。
※api/LineBotがエンドポイントなので、URLの後ろにつけてください
これでNgrok
起動中ならローカル環境でWebhookのデバッグができるようになりました!!