TENKitとGoogle Apps Scriptの連携(条件分岐編)


本記事は、TENKit の応用的な利用について説明いたします。
事前に基礎編「 TENKitとGoogleスプレッドシートの連携(簡単記録編)」をご確認いただきますようお願いします。

TENKit (テンキット)は「テンキー」を「IoT」化するキットです。
TENKit では、テンキーで入力された「数字」と、Googleスプレッドシートなどクラウド上のサービスを簡単に結びつけることができます。

ここでは、TENKit の応用的な利用として、テンキーから入力された値に基づき、条件分岐して別の異なる処理を行う方法について説明します。
具体的には、テンキーからの入力に「*」が含まれている場合と含まれていない場合とで、それぞれ異なるシートに値を記録する方法について記載します。

これにより、テンキーからの入力を工夫することによって、1つのTENKit を複数の用途に利用することが可能になります。

設定前の準備

条件分岐編の連携を設定する前に、以下の項目を確認してください。

1. 基礎編をマスター

事前に基礎編「 TENKitとGoogleスプレッドシートの連携(簡単記録編)」をご確認いただき、TENKitの基本的な利用方法についてマスターしていただくようお願いします。

2. Googleスレプッドシートを開く

Googleスレプッドシート にアクセスし、新しいスプレッドシートを作成して、名前を「TENKit分岐」として保存します。

3. 「メイン」シートを用意

作成したGoogleスプレッドシート「TENKit分岐」の下部のシート部分で、シート名を「シート1」から「メイン」に変更します。

3. 「サブ」シートを作成

続いて、横の「+」ボタンを押し、シートを追加します。
追加したシート名を「サブ」に変更してください。

連携の設定

コードを作成し、公開してWebhook URLを取得後、TENKitに登録します。

コードの作成

上部の「ツール」メニューより「スクリプトエディタ」を選択し、Google Apps Scriptの編集画面を開きます。
スプレッドシートと同じく、名前(プロジェクト名)を「TENKit分岐」に設定します。

元のコードを全て削除し、「コード.gs」に下記のコードを記載します。

// POSTリクエストに対する処理
function doPost(e) {
  // TENKitから送信された情報の取得
  //   message    : 送信された内容
  //   created_at : 送信された時間
  var contents = JSON.parse(e.postData.contents);
  var message = contents.message;
  var created_at = contents.created_at;

  // スプレッドシートの取得
  var ss = SpreadsheetApp.getActive();
  //「*」が含まれていない場合
  if(message.indexOf("*") == -1){
    // シート(メイン)を取得
    // 取得した情報を追加(appendRow)
    var main_sheet = ss.getSheetByName('メイン');
    main_sheet.appendRow([created_at, message]); 

  // 「*」が含まれている場合
  } else {
    // シート(サブ)を取得
    // 取得した情報を追加(appendRow)
    var sub_sheet = ss.getSheetByName('サブ');
    sub_sheet.appendRow([created_at, message]);    
  }  
}

「message」に「*」が含まれているかどうかを確認し、メインまたはサブのどちらのシートに書き込むか、処理を振り分けています。
ここで、一旦、実行ボタン を押してコードの承認手続きを行ってください。
「このアプリは確認されていません」というアラートが表示された場合は、左下の「詳細」をクリックし、次に「TENKit分岐(安全でないページ)に移動」をクリックして承認手続きを実行してください。

承認手順実行後に、「postDataを読み取れません」というエラーが発生しますが、問題ありませんので、そのまま次の手順に進んでください。

コードの公開

コードを公開し、Webhook用のURLを作成します。
Google Apps Scriptの編集画面の「公開」メニューより「ウェブアプリケーションとして導入」を選択します。

以下の画面が表示されるので、「アプリケーションにアクセスできるユーザー」に「全員(匿名ユーザー含む)」を選択して「導入」ボタンを押してください。

その後、以下の画面が表示されれば成功です。

最後に「ウェブアプリケーションのURL」を以下専用の設定ページで登録します。

テンキーから入力

最後に、TENKitに接続されたテンキーを入力します。
以下のように、スプレッドシートに入力内容が記録されれば成功です。

・「」が含まれていない場合

・「
」が含まれている場合

ここで何らかのエラーが発生した際は、スマホアプリの履歴にエラー内容が表示されますので、ご確認ください。

最後に

本手順では、TENKit の応用的な利用として、テンキーから入力された値に基づく条件分岐について説明しました。
これにより、TENKit を複数の用途で利用することが可能になります。

どのように利用するはかアイデア次第です。面白い使い方を是非発見してください。