STEP1 Webサーバーの構築
まずはLineからのWebhookを受け取るためにエンドポイント(URL)の作成をしなくてはいけません。
URLについて
URLというと、ホームページにアクセスする為のものと言う印象があると思います。
それもその通りですが、もう少し厳密にいうとサーバーの住所の様なものになります😃
友達の住所がわかれば文通することが出来るという様な感じです!
例えば、https://yahoo.co.jpにアクセスするとyahooのページが取得できます。
これは、ブラウザがWebサーバーの住所に対してHP見せてというリクエストを出して、サーバー側はHPを返しています。
URLはWebサーバーの住所なので、ホームページ見せて!以外の情報も送ることができます。
例えば下の様な感じです。
VPSをレンタル
ということでアクセス可能なURLを作成するためにVPS(バーチャルプライベートサーバー)をレンタルして、そこにWebサーバーを構築していきます。
VPSはそれほどメモリの大きいものは必要ないので、今回は1GBのサーバーを選択しました。
借りたVPSにDjangoで作ったプロジェクトを配置して、稼働させます。
これで万人にアクセス可能なURLを作ることができました😃
Lineからのメッセージを取得して返信するプログラムの作成
webサーバーの構築が済んで、URLをLineアカウントに登録しました。これで準備完了です。
あとは送られてきたメッセージに返信するロジックを作成するのですが、その前に一つ重要なことがあります。
それは、送られてきたメッセージが本当にLineから来ているものかWebサーバーには判断出来ないということです。悪意のある人がLineのフリをしてきた場合でも、Webサーバーには分かりません😔
そこで、webhookを使う場合にはサーバー内のLineに返信するシステムにデータを渡す前に、送られてきたメッセージが本当にLineから送られてきたものかを検証する必要があります。
Lineから送られてくるメッセージの中には、上の画像でいうハンコの様なものが含まれています。これを検証することで、本当にLineからのメッセージなのかを確認します。
公式ドキュメントを参考にしながら、検証機能を実装します!
これで後は来たメッセージをどう処理するかを実装するだけになりました!
ここからはpythonを書くことでどんなメッセージを返信するのかを書いていくことになります。
ここまでは工夫の余地はあまりありませんが、ここからは発想が大事になってくる楽しい時間です😃
大体ここまでで半日ちょっとというところです!次回はWebサーバーがメッセージを受け取り返信するところを書きます!