済 Googleスプレッドシートにデータを記入する

チャットボットプラスではテキストフォームに入力した内容をGoogleスプレッドシートに保存できます。
GoogleスプレッドシートとはGoogle社が提供している表計算ソフトで、Excelの様に関数を入力したり、グラフを作成できます。またExcelと異なる点としては、同時編集が可能なこと自動保存機能が備わっていることです。大変便利なこのGoogleスプレッドシートとチャットプラスを連携させる方法を、今回ご案内します。
 
このページでは、チャットボットプラスのテキストフォームに入力された情報を、Googleスプレッドシート上に記録する方法をご紹介します。

Googleスプレッドシートの準備

コードの設置

(1) Googleスプレッドシートに記録する要素に固有の変数名を与えます。
※各要素の変数名には重複せず、スペースを含まないユニークな文字列を付けます。
 今回は例として、下表の様な変数名をつけます。

要素 変数名
会社名 company
担当者 person
電話番号 tel
メールアドレス email

(2) 内容を記録するGoogleスプレッドシートを開き、メニューから「ツール」>「スクリプトエディタ」をクリックします。
※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」は消します。

 

Googleスプレッドシートに反映

(1) Googleスプレッドシートのメニューから、「公開」>「ウェブアプリケーションとして導入...」をクリックします。


(2) プロジェクト名を変更する様表示されるので、任意のプロジェクト名を入力します。


(3) 以下の画面が表示されるので、「Project version」のプルダウンから「New」を、「Execute the app as」のプルダウンから「Me」を、「Who has access to the app」のプルダウンから「Anyone, even anonymous」を、それぞれクリックして選択します。
※「Project version」のプルダウンで「New」を選択した後、枠内には任意の値を入力します(空欄でも可)


(4)「Deploy」ボタンをクリックします。

場合によっては、下図の画面が表示され、「許可を確認」する必要があります。

その場合、「許可を確認」>「アカウントを選択」>「詳細」>「データを追加に移動」>「許可」をクリックし、Googleスプレッドシートにアクセスすることを許可します。

(5)「Deployが完了」したことを伝える画面が表示されるので、「Current web app URL」枠内のURLをコピーします。


(6)「OK」ボタンをクリックします。

これでGoogleスプレッドシートの準備は完了です。
続いて、チャットボットの準備に移ります。

チャットボットの準備

(1) 管理画面右上の設定ボタンをクリックします。


(2) 画面左「チャット」>「機能」>「チャットボット+」をクリックします。


(3)「パーツ追加」をクリックします。


(4)「パーツ名」「概要」を入力します。
※画面右上のIDの欄は空欄で構いません。チャットボットプラス作成時に自動でIDが割り振られます。


(5)「ルールを追加」ボタンをクリックします。


(6) 表示ルール1つ目のプルダウンから「お客様の発言」をクリックして選択し、2つ目の枠内に「追加」と入力、3つ目のプルダウンから「一致する」をクリックして選択します。


(7) アクションのプルダウンから「テキストフォーム」をクリックして選択します。


(8) 手順(7)下のプルダウンから、「postback(JSON)」をクリックして選択し、「送信先URL」枠内に、上記手順「Googleスプレッドシートに反映」(5)でコピーした「Current web app URL」をペーストします。


(9)「POSTデータにチャット情報を含める」にチェックを入れます。


(10) テキストフォームの「名前」欄に、上記手順「コードの設置」(1)で名付けた変数名を入力し、「ラベル」欄、「候補1,候補2,・・・」欄に任意の文字列を入力します。
※ラベルには入力する内容を表すタイトルを入力し、候補には入力例を記入すると、わかりやすいです。


(11) 上記手順「コードの設置」(1)で名付けた変数名が複数ある場合は、「フォーム要素を追加」>「テキストフォーム」をクリックし、変数名分フォームを追加します。


(12) 手順(10)と同様に、追加したフォームへ文字列を入力します。


(13)「更新」ボタンをクリックします。


(14) チャットボットプラスのルール一覧から、設定したルールを「ON」にします。
※クリックすると、「ON/OFF」が切り替わります。

動作確認

(1) チャット画面を開き、「追加」の選択肢をクリックします。


(2) (1)の発言を受け、チャットにGoogleスプレッドシートへの、データ追加フォームが表示されます。


(3) 表示されたフォームに、任意の文字列を入力・送信します。


(4) 作成したGoogleスプレッドシートを確認すると、手順(3)で入力した内容が反映されていることを確認できます。

以上が、チャットプラスで入力した内容を、Googleスプレッドシートに記入する方法です