TECH MEDIA

テックメディア


その他
ブログ

LINE公式アカウント×LINE Messaging API で遊んでみた

その他技術
目次
  1. 01|作ったもの紹介
  2. 02|コードの紹介
  3. 03|拡張した機能の紹介
  4. 04|最後に

こんにちは、エンジニアの片岡です。
前回の記事ではLINE Green Badgeについて紹介しました。
その中でLINE公式アカウント×LINE Messaging APIでを使ってみましたので紹介しようと思います。

1. 作ったもの紹介

作ったものはこちらです!

これは、「できた」というワードに対応して褒めてくれる、自己肯定感をあげられる公式アカウントです。
このままでは特に役には立たないですが、

  • ・メッセージを受け取ったことを検知する
  • ・受け取ったメッセージ内容を解析する
  • ・返信するメッセージを決定する
  • ・メッセージを返信する

ということができています。
これはいろいろと活用できそうですね。

2. コードの紹介

それではコードの紹介に入っていきます。

LINE公式アカウントにメッセージが送られると、LINEプラットフォームからWebhookイベントオブジェクトを含むHTTP POSTリクエストが送られるという機能があります。
今回はこの機能を利用して作成しました。

はじめに、受け取ったデータを解析し、LINEのユーザーIDを取得したり、メッセージの内容がテキストかどうかなどを確認している部分です。
※これより前に署名の検証等を行っておいた方がよいですが、今回はプライベートな制作物のため省略しています

次に受け取ったテキストを解析し、返信するメッセージを決めている部分です。

今回は「できた」というワードに反応し、
「おめでとう!」「偉い!」「よくやった!」「さてはあなた様は天才でございますね?」
のいずれかの返信を返します。

「できた」というワードが入っていない場合は「理解できませんでした」と返します。

最後に、返信するメッセージを$post_dataに格納してbot/message/reply APIを叩けば完了です。

中身は非常にシンプルなものでしたが、これを拡張することでいろいろなサービスが実現できます。

次はそちらを紹介します。

3. 拡張した機能の紹介

メッセージを解析して返信メッセージを決めていた箇所に下記のコードを追加しました。

「○○を買う」というテキストに反応し、「○○」の部分をDBに追加、「○○を登録しました」というメッセージを返す機能です。
これは同じような方法で、
「○○を買った」というテキストに反応し、「○○」の行をDBから削除、「○○を削除しました」というメッセージを返す機能や、
「買い物リスト」というテキストに反応し、DBに保持してあるものを一覧にしてメッセージを返す機能
を作って合わせることで、買い物アプリとして機能します。

LINE側のユーザーIDを取得できるので、それを主キーの1つとして利用できるのがいい点ですね。

このように、DBを絡めることで一気にできることの幅が増えそうです。

4. 最後に

いかがだったでしょうか?

今回はLINE公式アカウントとLINE Messaging API を利用して小さなサービスを作ってみました。
きっとこんな感じにすればこんな便利機能がLINEでできる!と、いろいろな機能が思い浮かぶのではないでしょうか。

私も、LINEのメッセージのやり取りでアンケートを実装すればより回答率が上がるのでは…?など、いろいろ思い浮かぶこともあります。
ぜひ皆さんも触ってみてください。

それではこの辺で失礼します。

RECRUIT 採用情報

「eビジネスに関わる全ての人を幸せにする」
私達とともに新たな時代をつくりませんか?