【GAS】分散通知の仕組みを作る〜Googleアプリ、GAS及びAPIの活用 STEP1:通知文作成(1/5)


<通知の仕組みを作る STEP1: 通知文作成>
別ページで表示


はじめに

緊急通知を、迅速に自治会会員、地元住民、住民へ送りたい。というニーズがあります。

通知手段は、何らかの障害により遮断されるリスクを分散させる意味から、会員が選べるように、理想的には会員が望む方法に合わせて送れるように、複数のルートを確保しておくこと、すぐに新しいルートを設置できること、が望ましいです。

中小規模の自治会は、予算も小さく、役員も数年以内には交替します。滅多に使われない緊急通知、そう、滅多に使わないのは平和の証拠でとてもいいこと。そうしたことに、お金を掛けることは、なかなか承認してもらえないでしょう。

取り掛かりは、無料の形で始めることにします。あったほうがいい、あるべきだ、という声が高まったら、次は、予算を出してもらえるかも知れません。

それでは、STEP1は、通知文を作成するところから始めます。

ポイント解説

<1> 緊急通知を、スマホから送りたい。

もし自分が家にいてパソコンに触れる環境なら、メール、LINE、Push7、ブログ投稿はすべて、それぞれのアプリを開いて、基本の文をどこかに書いて、それをコピペしながら、送信することは、それほど大変なことではないと私は感じます。しかし、ITに興味のないふつうの人でしたら、怒り出すかも知れません。もっと簡単にしてくれと。

しかも、突然来るのが、緊急通知たる所以。これを会員に通知してくれ、という指示がきた時、私は外出しているかも知れません。

あるいは、停電するかも知れません

だから基本的に、スマホで操作できる状態にしておきたいです。

しかしスマホから、この4つの通知手段の画面に打ち込む、それぞれバラバラの画面に、コピペしてあれこれ操作、これは、眼も疲れるし、指の動きも細かくて間違えるし、焦るし、曲芸といっていいです。私もお手上げです。

そこで選んだのがGoogleフォーム。これならなんとか、スマホから、文字入力が出来ます。(文字入力はiPhoneだと「メモ」アプリが一番書きやすい。ここからGoogleフォームへコピペするのが扱い易い。)

Googleフォームは、取得データをGoogleSSへ格納するという画期的な仕組みにより瞬時にグラフや分析が行われる優れものです。しかし、今回、最も単純な、通知文のタイトルと中身を記入する、それをそのまま発信に結びつける。ただそれだけ。なんでこんな簡単なことができないのか。と悩んでしまった。。

Googleフォームの作り方の紹介は省略します。

とにかくGoogleフォームで送信すると、最新データが次々と、下の行に転記されていくわけです。この一番下の行をどうやって引出したらいいのか。テーブルのA列から最新の日付時刻つまり最大値の行番号を見つけて、B、C、Dの列番2,3,4を与えて、表引きを行おう。

と最初考えたが実に面倒。

そのうち閃いた!

<2>欲しい行を取り出すのは、あまりにも簡単だった!!

「なんだ。すぐここに転がっているじゃないか。」という感じでした。

sheet1のこの表を、sheet2にコピーする。そのとき、A列の降順で全体を並び替えで、表を書き込む。そうすれば、一番上の行、つまりGoogleSSの関数に従うと、2行目。

常に2行目に来るわけです。

やったことは、sheet2を作りそのA列1行目へ

=query(sheet1!A:D,"select * where A is not null order by A desc")

を入れるだけです。

ちなみに、< where A is not null >は、降順(desc)の時は不要ですが、昇順(asc)の時は、空白の行が最上行に来るために必要です。どちらでも問題ないように常に入れておけばいいです。* は、掛け算の意味ではなく、全ての列、の意味です。

Googleフォームから送信されたデータはsheet1の最下行へ追加される。
sheet2へ、query関数を一つ入れるだけで、常に2行目に最新データがくる。すみません。Where A is not null を入れた方が汎用です。

<3> 入力フォームは、AppSheetのアドオンを使った

実はGoogleフォームの入力は、GoogleSSのデータを、追加、修正、削除するのには向いていない、スマホの表示が不格好、といった問題点がありましたが、AppSheetをGoogleフォームにアドオンすることにより、非常に使いやすくなりました。

右のGoogleフォームは、余分な記述が多く、入力出来る項目が一画面に収まりきらない。左のAppSheetで作ったフォームは、すっきりと収まっている。

さて、STEP2以降では、ここで作られた通知文を、電子メール、LINE、Push7、ブログ投稿、といった4つの方法で配信する仕組みを作ります。ポイントは、これらの4つのアプリを直接に手を触れることなく、一つの標準化した方法で行います。それではSTEP2では、Googleグループメール配信する方法について説明します。

STEP2

以上。