メルマガなどを運用していて、フォームから申し込みがあった時にメールアドレスだけをデータベース化したい場合があります。
クローバ PAGE にはWebフックの機能があるので、Zapierなどと連携すれば様々なサービスにデータを送信することができるのですが、Google スプレッドシートで簡単なスクリプトを書くだけで、Zapierを使わなくてもGoogle スプレッドシートにデータを送信することができます。
さっそくやってみましょう。
Googleドライブにアクセスして、新しいスプレッドシートを作成します。一行目に、ヘッダー行を作成しておきます。
「拡張機能」メニューから、「AppScript」を開きます。
以下のようにコードを入力します。
function doPost(e) {
var json = e.postData.getDataAsString();
var data = JSON.parse(jsonString);
var type = data.type;
var name = data.name;
var email = data.email;
var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId());
var sheet = ss.getSheetByName("シート1");
if (type == 'created') {
sheet.appendRow([name, email]);
}
}
コードを入力し終わったら、「デプロイ」から「新しいデプロイ」をクリックします。「種類の選択」をクリックして、
「ウェブアプリ」を選択します。
「アプリケーションにアクセスできるユーザー」を、「全員(匿名ユーザーを含む)」にします。
「デプロイ」をクリックすると、認証を求められる場合があります。説明が表示されますので、適宜認証を行なってください。
「このアプリはGoogleで確認されていません」というメッセージが表示される場合は、「詳細」リンクから、認証画面に移動してください。
デプロイが成功するとデプロイIDとウェブアプリのURLが表示されます。このURLをクローバ PAGE のWebフックに設定します。
まず、フォームからの申し込み時にメールアドレスを受け付けるようにします。フォームの入力項目の設定で、メールアドレスの要求を有効にします。
「サービス連携」から新しいWebフックを作成します。Webフックの詳細についてはヘルプサイトを参考にしてください。
標準Webhookを作成し、URLに先ほど取得したURLを設定します。
これで準備は完了です。クローバ PAGE のフォームから申し込みを行ってみます。
スプレッドシートにデータが登録されましたね!
こちらも合わせてオススメです。