Chapter 04

enebularと連携する

がおまる
がおまる
2021.02.17に更新

4-1. パレットを追加する

enebularの管理画面に遷移してエディタ画面を表示します。画面右上のハンバーガーメニュー①から[パレットの管理]②をクリックします。

「ノードを追加」①タブをクリック、検索窓に line-messaging-api②と入力して検索します。node-red-contrib-line-messaging-apiが表示されるので、[ノードを追加]ボタン③をクリックします。

4-2. Webhook先を設定する

左側メニューにあるネットワークカテゴリから http inノード①をドラッグアンドドロップします。ノードをダブルクリック②してプロパティ画面を表示します。メソッドに POST③を選択し、URLに /appsheet④と入力します。設定が完了したら右上の[完了]ボタン⑤をクリックします。

項目
③メソッド POST
④URL /appsheet
※先頭の「/」(スラッシュ)をつけ忘れず、スペルミスに注意!

4-3. AppSheetのデータを取得する

AppSheetから送られてくるデータを取得して別の変数に格納しておきます。 機能カテゴリから changeノード①をドラッグアンドドロップして、4-2で設定したhttp inノードと線で繋げます②。changeノードをダブルクリックして、プロパティ画面を表示します。対象の値はプルダウンメニューから msg.③を選択します。値は payload.message④と入力してください。

項目
③対象の値 msg. を選択
④対象の値 payload.message と入力
※スペルミスに注意してください

4-4. LINE Notifyの設定

LINEカテゴリから Notifyノード①をドラッグアンドドロップします。4-3のchangeノードと線で繋げます②。Notifyノードをダブルクリックしてプロパティ画面を表示します。3-2で取得したLINE Notifyのトークンを貼り付けます③。設定が完了したら[完了]ボタン④をクリックします。最後に画面右上にある[デプロイ]ボタンをクリックします⑤。

4-5. enebularのアクセスURLをメモする

デプロイが完了したら、ボタン左側にある[i]マークをマウスカーソル①で当ててください。enebularのアクセスURLが表示されるのでメモ②しておきます。

4-6. AppSheet側の設定

AppSheetとenebularを連携させる設定を行います。AppSheet画面の左側メニューにある Behavior①をクリックします。 Workflowタブ②をクリックして、 Add email automations③をクリックします。

On Additions to 'シート1' という項目をクリックします。

既にある 1:Email Taskは削除しておきます。[Delete Task]ボタン①をクリックします。削除したら[+ Add Task]ボタン②をクリックします。

下記項目を設定していきます。Urlは4-5で取得したURLの末尾に /appsheetを追記します。設定が終われば画面右上の[SAVE]ボタンをクリックします。

項目
①Task category Call a Webhook
②Url https://ev2-prod-node-red-xxxxxxxx-xxx.herokuapp.com/appsheet
※末尾に /appsheetを追記する
③HTTP Verb Post
④HTTP Content Type JSON
⑤Body 下記プログラムを設定する
{
"message": "<<ステータス>>:<<日時>>"
}

4-7. 余計なトリガーを削除する

このままではデータを変更したり、削除する毎にメールで通知が飛んでしまいます。余計なトリガーをそれぞれ削除しておきます。
On Removal from 'シート1'On Change of 'ステータス's Value in 'シート1'の[Delete]ボタンをクリックします。間違えて On Additions to 'シート1'を削除しないよう気をつけてください。

4-8. 動作確認

シミュレーターから勤怠情報を追加します。追加し終わるとLINEにステータスと出退勤時刻が通知されるようになります。

まとめ

いかがでしたでしょうか?非常に簡単にAppSheet、enebular、LINEと連携することができました。
ローコードで面白いアプリを作ってみましょう!