Googleスプレッドシートにデータを記入する方法
チャットボットプラスではテキストフォームに入力した内容をGoogleスプレッドシートに保存できます。
GoogleスプレッドシートとはGoogle社が提供している表計算ソフトで、Excelの様に関数を入力したり、グラフを作成できます。またExcelと異なる点としては、同時編集が可能なことや自動保存機能が備わっていることです。大変便利なこのGoogleスプレッドシートとChatPlusを連携させる方法を、今回ご案内します。
このページでは、チャットボットプラスのテキストフォームに入力された情報を、Googleスプレッドシート上に記録する方法をご紹介します。
App Scriptの記述方法はサンプルとしてご確認ください。(お客様のご要望に沿った記述方法は通常サポート外となります。)
1.Googleスプレッドシートの準備
1-1.コードの設置
(1) Googleスプレッドシートに記録する要素に固有の変数名を与えます。
※各要素の変数名には重複せず、スペースを含まないユニークな文字列を付けます。
今回は例として、下表の様な変数名をつけます。
要素 | 変数名 |
会社名 | company |
担当者 | person |
電話番号 | tel |
メールアドレス |
(2) 内容を記録するGoogleスプレッドシートを開き、メニューから「拡張機能」>「Apps Script」をクリックします。
※Googleスプレッドシートがない場合は、新しく作成してください。
(3)「function myFunction() { }」と書かれたエディタが表示されるので、以下のコードをコピーし、エディタに上書きしてペーストします。
function doPost(e) {
var jsonString = e.postData.getDataAsString();
var data = JSON.parse(jsonString);
var sample = data.sample;
var date = new Date();
var ss = SpreadsheetApp.openById(SpreadsheetApp.getActiveSpreadsheet().getId());
var sheet = ss.getSheetByName("シート1");
sheet.appendRow([sample, date]);
}
(4) ペーストしたコードの5行目に「var sample = data.sample;」と書かれたコードがあるので、手順(1)で設定した要素の数だけ、コピー&ペーストします。
(5) 手順(4)でコピー&ペーストした各行の「var sample = data.sample;」に含まれる2つの「sample」という文字を、手順(1)で設定した変数名に書き換えます。
※変数名の数だけ、同じ手順を行います。
(6) ペーストしたコードの最後の行に、「sheet.appendRow([sample, date])」と書かれたコードがあるので、「sample」という文字を、手順(1)で設定した変数名分、「,」で区切り書き加えます。
※「sample」は消します。
1-2.Googleスプレッドシートに反映
(1) Googleスプレッドシートのメニューから、「デプロイ」>「新しいデプロイ」をクリックします。
(2) 設定ボタンをクリックし、展開されたメニューから「ウェブアプリ」をクリックします。
(3) 以下の画面が表示されるので、
「新しい説明文」枠内に任意の文字列を入力し、
「次のユーザーとして実行」のプルダウンから「自分」を、
「アクセスできるユーザー」のプルダウンから「全員」を、クリックして選択します。
(4)「デプロイ」ボタンをクリックします。
■下図の画面が表示され、アクセス承認を求められた場合
①「アクセスを承認」ボタンをクリックします。
② アクセスを承認するアカウントをクリックします。
③「高度な」をクリックします。
④「無題のプロジェクトへ(危険)」をクリックします。
⑤「許可する」ボタンをクリックします。
(5) デプロイが完了したことを伝える画面が表示されるので、ウェブアプリの「コピー」をクリックして、URLをコピーします。
(6)「完了」ボタンをクリックします。
これでGoogleスプレッドシートの準備は完了です。
続いて、チャットボットの準備に移ります。
2.チャットボットの準備
(1) 管理画面右上の設定ボタンをクリックします。
(2) 画面左「チャットボット」>「チャットボット+」をクリックします。
(3)「パーツ追加」をクリックします。
(4)「パーツ名」「概要」を入力します。
※画面右上のIDの欄は空欄で構いません。チャットボットプラス作成時に自動でIDが割り振られます。
(5)「+ルールを追加」ボタンをクリックします。
(6) 表示ルール1つ目のプルダウンから「訪問者の発言」をクリックして選択し、2つ目の枠内に「追加」と入力、3つ目のプルダウンから「一致する」をクリックして選択します。
(7) アクションのプルダウンから「テキストフォーム」をクリックして選択します。
(8) 手順(7)下のプルダウンから、「postback(JSON)」をクリックして選択し、「送信先URL」枠内に、上記手順「1-2.Googleスプレッドシートに反映」(5)でコピーした「Current web app URL」をペーストします。
(9)「POSTデータにチャット情報を含める」にチェックを入れます。
(10) テキストフォームの「訪問者属性名」欄に、上記手順「コードの設置」(1)で名付けた変数名を入力し、「ラベル」欄、「候補1,候補2,・・・」欄に任意の文字列を入力します。
※ラベルには入力する内容を表すタイトルを入力し、候補には入力例を記入すると、わかりやすいです。
(11) 上記手順「1-1.コードの設置」(1)で名付けた変数名が複数ある場合は、「フォーム要素を追加」>「テキストフォーム」をクリックし、変数名分フォームを追加します。
(12) 手順(10)と同様に、追加したフォームへ文字列を入力します。
(13)「更新」ボタンをクリックします。
(14) チャットボットプラスのルール一覧から、設定したルールを「ON」にします。
※クリックすると、「ON/OFF」が切り替わります。
3.動作確認
(1) チャット画面を開き、「追加」の選択肢をクリックします。
(2) (1)の発言を受け、チャットにGoogleスプレッドシートへの、データ追加フォームが表示されます。
(3) 表示されたフォームに、任意の文字列を入力・送信します。
(4) 作成したGoogleスプレッドシートを確認すると、手順(3)で入力した内容が反映されていることを確認できます。
以上が、ChatPlusで入力した内容を、Googleスプレッドシートに記入する方法です