LINE公式アカウントにメッセージを入力したらHP内を検索した結果を表示させる方法!

スポンサーリンク
050-VBA

へっぽこヘタレシステム管理者の管理人です。

さて・・・

管理人が勤務する自治体では、LINE公式アカウトを運用しています。

ただ、メッセージ機能については、利用しておらず・・・

自動応答で定番ですが・・・

【このアカウントでは個別のお問い合わせは受け付けておりません!】

となっています。

まぁ、このままでも良かったのですが、

ちょっと興味本位で、HPの検索窓と連携できたら面白いかも???

と思ってやってみる事にしました・・・・

数年前ならgoogleと検索して調べるところですが、

生成AIを使えば楽勝で実装できました。

生成AIは確かに便利ですが・・・

これって危険かもですね。

自分で考える事が無くなって、頭が悪くなること必至です。

さて、そんなことはさておいて、コスパとタイパを重視するなら、

生成AIを使わない手はないので、今回は素直に生成AIを最大限活用しました。

まず実装手順ですが・・・

  • LINEでMessaging APIを利用できるようにする → これは既に実施済み
  • チャンネルアクセストークンを発行する → これも既に実施済み
  • App Scriptでコードを作成してデプロイ → ここからやる
  • App ScriptでウエブアプリURLを発行
  • LINEのWebhook URLにApp ScriptでウエブアプリURLを登録

まぁ、こんな感じです。

まず、LINEのチャンネルアクセストークンは、

まぁLINEの管理者であれば分かっているので説明は不要でしょう。

LINEデベロッパーにアクセスして、コピペするだけです。

次は、問題のApp Scriptですね。

Googleドライブにアクセスして、

新規作成 → その他 → App Script

で新規プロジェクトを作成します。

コードはそれほど難しくありません。

基本このまま貼り付けてもらえばOKですね。

LINEのチャンネルアクセストークンと

公式HPの検索窓のURLをコピペしてもらえばOKです。

var ACCESS_TOKEN = 'LINEのチャンネルアクセストークンを貼り付ける';
// ↓ここを検索専用URL(お尻は多分 &q= となるはず)
var BASE_URL = '公式HPの検索窓のURL&q=';

function doPost(e) {
  var event = JSON.parse(e.postData.contents).events[0];
  var replyToken = event.replyToken;

  // 1. メッセージタイプが「text」でない場合は処理を終了する(フィルタリング)
  if (event.message.type !== 'text') {
    return;
  }

  // 2. テキストメッセージの場合のみ、変数に代入して検索処理へ
  var userMessage = event.message.text;
  var searchUrl = BASE_URL + encodeURIComponent(userMessage);
  var responseMessage = "「" + userMessage + "」の検索結果はこちらです:\n" + searchUrl;

  // LINEへの返信
  UrlFetchApp.fetch('https://api.line.me/v2/bot/message/reply', {
    'headers': {
      'Content-Type': 'application/json; charset=UTF-8',
      'Authorization': 'Bearer ' + ACCESS_TOKEN,
    },
    'method': 'post',
    'payload': JSON.stringify({
      'replyToken': replyToken,
      'messages': [{ 'type': 'text', 'text': responseMessage }],
    }),
  });
}

コードを作成したら・・・

スポンサーリンク

デプロイして、

ユーザー → 自分

アクセスできるユーザー → 全員

を設定して、ウエブアプリURLを発行してコピペします。

再度、LINEデベロッパーに戻り・・・

ブログランキングにご協力ください!
ブログランキング・にほんブログ村へ

WebhookURLに貼り付けます。

検証ボタンを押してOKがでれば問題ありません。

最後に公式LINEアカウントの設定で、

チャット → ON

応答時間 → ON

自動メッセージ → OFF

とします。

これで、LINE公式アカウトを開いて・・・

メッセージを送信すると・・・

送信したメッセージを、公式HPの検索窓で検索した結果一覧のURLがLINEに変身されます。

それをクリックすれば・・・

公式HPでの検索結果が表示されるという仕組み。

実際に動いたので管理人的には大満足。

ただ一つ悔しいのが、生成AIに頼めば、この程度の事は瞬殺でできてします。

人間なんてもはや不要なのではと思う。

管理人オススメのガンプラは、こちらのサイトから!

ブログ開設に必要なドメイン取得、サーバーレンタル、ASPの登録等は、こちらのサイトから!

コメント

タイトルとURLをコピーしました