だいぶ前に取得していた川柳投稿まるせんのLINE@が最近LINE公式アカウントに統合され、これを機会にMessaging APIでも触っておこうと思い試してみました。
LINE公式アカウント管理画面(LINE Official Account Manager)の設定
LINEのAPIを使用するにあたり、まずは公式アカウントを作っておく必要があります。
まるせんのアカウントは@yes2126f、これで管理画面にログインします。
設定→Messaging APIを開くと、このような画面が表示されるので、Messaging APIを利用するボタンを押します。
プロバイダーの作成を求められます。よく分かりませんが、適当な名前で作成します。
ステータスが利用中となり、Channel IDとChannel secretのコードが発行されました。
Webhook URLには、まるせんのサーバーに置くLINE APIとやり取りするためのプログラムのURLを設定しておきます。
Webhookを利用するためには さらに 、応答設定の基本設定で応答モードをBotに、詳細設定でWebhookをオンにしておく必要があります。
LINE開発者管理画面(LINE Developers)の設定
LINE Developersにログインします。川柳投稿まるせんのチャネルはあらかじめ作っておきました。
チャネル
LINE Developers ドキュメント
LINEプラットフォームが提供する機能を、プロバイダーが開発するサービスで利用するための通信路。チャネルは、LINE Developersコンソールで作成できます。
川柳投稿まるせん→Messaging API設定にある各設定項目Webhook設定があります。
ここでもWebhook URLを設定しておき、Webhookの利用をオンにしておきます。
なお、Webhook URLになんらかのプログラムを設置しておけば、検証ボタンを押して接続を検証することもできます。
Messaging APIの動作テスト
まるせんのサーバーからメッセージを送るには、大きく分けて、応答メッセージとプッシュメッセージの2種類の送信方法がありますが、フリープランではプッシュメッセージのAPIは利用することができないので、応答メッセージのAPIでテストをします。
要するに、まるせんからユーザーに対してメッセージを送信することはできないが、ユーザーからのメッセージに対する返信という形なら可能ということです。
プログラムはこちらのサイトを参考にしました。
$accessTokenには、LINE DevelopersのMessaging API設定に記載されている、チャネルアクセストークンをセットしておきます。
まずはサンプルコードの通り、なんらかのメッセージを受けたときに固定メッセージ「こんにちわ。テキスト応答ですよ。」を返信するという処理を実装します。
サンプルの通り、問題なく固定のメッセージを返信することができました。
次は、ユーザーのメッセージを受け取り、そのメッセージを返信に付け足すという処理を加えてみました。
LINE Developersのドキュメントに、メッセージ仕様が公開されています。
上記の”Hello, world!”のところがメッセージ文で、サンプルコードでいうと、$event[‘message’][‘text’]という配列でメッセージを取得することができるので、応答メッセージにこれを付け足してみます。
メッセージを受け取り、その文字を返信メッセージとして使うことができました。
今後の予定
ユーザーからのメッセージをまるせんのサーバーで受け取れることが確認できたので、受け取ったメッセージに関連した川柳を返信する機能を追加してみたいと思います。
検索にヒットした川柳のうち、いくつかを選んで返信するイメージです。
また、「今日の一句」や「ナイス川柳」などのワードに対しては、それに該当する川柳を返信する、というような機能も面白いかもしれません。
ある程度の段階でサイトでも告知させていただきますので、もうしばらくお待ちください。
コメント