スキルアップを始める!

Contact Form7で送信があった時にGoogle Apps Scriptを使用してLine Notifyで通知を受け取る-Part1

WordPress(ワードプレス)
WordPress(ワードプレス)
この記事は約5分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

WordPressのContact Form7プラグインで送信があった際に、LINEに通知を受け取る方法です。

LINE Notifyのアカウントを作成する

まずは、LINE Notifyのアカウントを作成します。

LINE NotifyはLINEからの通知を受け取るためのサービスで、無料で利用できます。LINE Notifyのアカウントを作成するには、以下のURLにアクセスし、LINEアカウントでログインします。

LINE Notify
LINE NotifyはGitHub,IFTTT,MackerelなどのWebサービスからの通知を、LINEで受信することが出来る便利なサービスです。

アクセストークンの発行(開発者向け)

LINE Notifyのアカウントを作成したら、アクセストークンを取得します。

アクセストークンは、LINE Notify APIを利用するために必要なもので、通知を送信するときに必要になります。

「トークン」の名称を作成して、LINE Notifyに登録したいグループを選択します。

発行したトークンをコピーしておきます。

※この画面を閉じると発行したトークンは二度と取れないので必ずコピーをしておきましょう。

LINE Notifyがグループに登録されます。

「LINE Notify」をグループに招待する

「LINE Notify」というお友達を、通知を送りたいグループに招待します。

お友だちの「LINE Notify」が追加されました。(友だち・・・?)

これで、先ほどのトークンを使って通知を送れるようになります。

スプレッドシートを準備する

このままでは、フォームを送信した時の受け皿になるURL(doPost)が存在しないので、GoogleAppsScriiptを使って、通知を受け取ります。

まずは、スプレッドシートファイルを新規作成します。

ファイル名は「sendLineNotifyMessage」など、後で分かるファイル名にしておきましょう。

スプレッドシートは今回は特に使わないので、そのままスクリプトエディタを開きます。

スクリプト名は「sendLineNotifyMessage」といった感じにしておき、関数名を「doPost」に変えておきます。

function doPost(e) {
  
}

このようにすると、外部からdoPost関数で通知やメッセージなどを受け取ることができます。

doPost関数とは?

doPost関数」とは、Google Apps Scriptで使用される関数の一つで、HTTP POSTリクエストを処理するために使われます。

Webアプリケーションとして公開したGoogle Apps ScriptにHTTP POSTリクエストが送信された場合、doPost関数が自動的に呼び出されます。

HTTP POSTリクエストに含まれるデータは、doPost関数の引数として渡されます。doPost関数内で、受け取ったデータを処理して必要な処理を行うことができます。

UrlFetchApp.fetch(HTTPリクエスト)

UrlFetchApp.fetchは、Google Apps Scriptのサービスの1つで、指定したURLにHTTPリクエストを送信し、レスポンスを取得するために使用されるメソッドです。

下記のようにすると、フォームから送信があった際に通知を送れるようになります。

function doPost(e) {
  // Line Notifyに通知を送信する
  const token = 'Line Notifyのアクセストークン';
  const message = 'フォームの送信がありました!';
  const options = {
    'method' : 'post',
    'headers' : {'Authorization' : 'Bearer ' + token},
    'payload' : {'message' : message}
  };
  const url = 'https://notify-api.line.me/api/notify';
  UrlFetchApp.fetch(url, options);
}

上記の例では、外部からデータを送信された時に、Line Notifyに通知を送信しています。

「Line Notifyのアクセストークン」の部分には、発行されたアクセストークンを設定します。

Webアプリケーションとして公開する

Google Apps Scriptのプロジェクト画面から、「デプロイ」→「新しいデプロイ」を選択し、デプロイの種類を「ウェブアプリ」を選択します。

アクセスできるユーザーを「全員」としてデプロイします。

ウェブアプリのURLをコピーしておきます。

通知が届くかテスト

この状態で、通知が届くかテストしてみます。

doPostスクリプトを実行してみます。

LINEグループに通知が届きました!

まとめ

このように設定することで、メッセージをLINEに通知することができます。※アクセストークンやメッセージは適宜変更してください。

以上の手順で、Contact Form7で送信があった際にLINEに通知することができます。

続きは、Part2へ。

URLをコピーしました!