WordPressのContact Form7プラグインで送信があった際に、LINEに通知を受け取る方法です。
LINE Notifyのアカウントを作成する
まずは、LINE Notifyのアカウントを作成します。
LINE NotifyはLINEからの通知を受け取るためのサービスで、無料で利用できます。LINE Notifyのアカウントを作成するには、以下のURLにアクセスし、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へ。