0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GASでGoogleForm送信時に飛ばすSlack通知が2回連続で来る

Posted at

掲題の通り、GASでGoogleForm送信時にSlack通知を飛ばしたかった。
こちらの記事の通り設定したら通知は来るようになったのだが、2回連続で来るようになった。
これはこれで使えるのだが、2回も同じ内容が毎回飛んでくるとかなり鬱陶しい。
なのでこれを直そうと思って色々試してみたが、GASの仕様理解しないとかなり沼にハマるので残しておこうと思う。

結論

2回通知が来た原因は、GASのSimple Triggerで発火される関数をInstalled Triggerでも登録していたからだった。
Simple Trigger
Installed Trigger

Simple Triggerとは

ある特定の関数名を定義しておくだけで発火するトリガーのこと。
例えばGoogleスプレッドシートを開いたタイミング、編集したタイミングでイベント発火させたい場合、それぞれonOpen(e),onEdit(e)といった関数を定義しておけば自動で発火してくれる。
今回はフォーム送信時だったので、onFormSubmit(e)だった。

Installed Triggerとは

イベント発火時に、特定の関数を呼び出すためのトリガーのこと。
下のモーダルから設定することが出来るが、こちらはSimple Triggerと違って発火させるイベントと発火させる関数を設定しておかないといけない。
逆に関数名の縛りはないので、自由にネーミング出来る。

フォーム送信時に通知が2回送られていたのは、Simple TriggerであるonFormSubmit(e)をInstalled Triggerに登録していたからだった。
なので、onFormSubmit(e)という関数名を変更するか、トリガーを削除すればSlack通知は1回だけになる。

たったこれだけのことに半日くらい時間溶かした…。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?