Blogブログ

LaravelでLINE Message API使ってみた

こんにちは。エンジニアをしている砂町です。
最近の開発でLaravelをしようしてLINE BOTを開発する機会がありましたので、そのお話をしようと思います。
今回の開発ではLINEの「Message API」と「LIFF」の開発を行いました。
本日は「Message API」について大枠の流れを説明していきます。

Message APIとは??

Message APIを使うことで、LINEのトーク上でユーザーから送信されたメッセージに応じて、一定の処理やレスポンスを自動で行うことができます。また、任意のユーザーにメッセージを送信するといったことも可能です。

例えば

  • 「今何時?」というメッセージに対して、現在の時間を返す。
  • 送信されたメッセージに対して、オウム返しを行う。

と言った感じです。
またLINEで付与されているIDとDBの情報を関連付けることで、メッセージを送信したユーザーの情報を特定して複雑な処理を追加することも可能です。

Message APIを使う流れ

Message APIを使うためのざっくりとした流れとしまして、

1. LINE Developersに登録する。
2. 新規プロバイダーを作成する。
3. チャンネルを作成する(Message APIのチャンネル)
4. Laravelに「line-bot-sdk-php」をcomposerでinstallする。
5. Message APIのWebhook URL設定するAPIを作成する。

といったことが必要になります。
※詳しくは公式ドキュメントを参照してください。

3のMessage APIのチャンネルが設定できたら、Webhook URLに開発を行うサーバーのAPIのエンドポイントを設定します。

4の「line-bot-sdk-php」をinstallできたら、5のAPIを作っていきます。
Webhook URL が設定できたら、ルーティングを設定してコントローラにコードを書いていきます。
まず作成したチャンネルのアクセストークンやチャンネルシークレットをenvファイルに記述しておきます。
記述できたら、それを使って不正なアクセスがあれば使わせないようにするような処理を書いていきます。

次にユーザーからのメッセージに合わせて、行いたい処理を書いてきます。
Message APIではテキストで送信されたメッセージ以外にも「友達登録時」や「フォロー解除時」、「スタンプメッセージ」などのイベントを検知することも可能です。

またこちらからユーザーにpushメッセージを送ったりすることも可能です。
※画像の関数ではpushメッセージを送信したいユーザーのLINEIDを渡すことで、そのユーザーにメッセージを送信することが可能です。

ざっくりですが、Message APIの流れについてご説明させていただきました。
次回は、LINE上で動作させることができる「LIFF(LINE Front-end Framework)アプリ」についてご紹介しようと思います。

砂町

執筆者

Developer

砂町