こんにちは!
Yuki (@yukibnb) です。
前回の記事でスプレッドシート内のボタンを押してLINE Notifyで通知を送信する方法を紹介しました。
www.yukibnb.com
自分の好きなタイミングでボタンをクリックしたらすぐにLINE通知できるので便利ですよね。
でも『間違ってボタンをクリックしたらどうしよう。。。』と思った人もいるはずです。
ご安心ください!本当にLINE通知を送信していいか確認メッセージを表示することが可能です。
コピペでOK!確認メッセージを追加しよう
確認メッセージのコード
以下コードをGoogle Apps Script (GAS)のスクリプトの関数のはじめにコピペします。
するとボタンを押した時に確認メッセージが表示され、「キャンセル」をクリックするとスクリプトが終了しLINE通知は送信されません。
//間違えてボタンを押した場合、キャンセルをクリックすると動作を終了できる。 var confirmation = Browser.msgBox("題名を入力","本文を入力", Browser.Buttons.OK_CANCEL); if(confirmation == "cancel") { Browser.msgBox("操作をキャンセルしました"); return; }
これだけです!とってもシンプルですね。
なお確認メッセージには題名と本文を設定できます。上記コード内の"題名を入力"と"本文を入力"を好きな題名と本文に置き換えてください。
実際に試してみよう
前回の記事で作成したボタンとLINE通知用のスクリプトで試してみましょう。
www.yukibnb.com
前回のコードに確認メッセージ用のコードを追加しました。全体のコードは以下となります。題名と本文は置き換えました。
function shiftCreated() { //間違えてボタンを押した場合、キャンセルをクリックすると動作を終了できる。 var confirmation = Browser.msgBox("シフト作成完了のLINE通知","本当にLINEを送信しますか?", Browser.Buttons.OK_CANCEL); if(confirmation == "cancel") { Browser.msgBox("操作をキャンセルしました"); return; } // LINEで自動通知する内容。 // var content = の後に任意の文章を入力してください。 var content = "\n【シフト作成完了】\nみなさんへ。\n\n"; content += "来週のシフトが決定しました。\n"; content += "各自のシフト表ファイルをご確認よろしくお願いします。"; sendHttpPost_shiftCreated(content); } // LINE Notifyを利用するための関数 function sendHttpPost_shiftCreated(content){ //LINEで自動通知をする宛先のトークン。 //'トークンを入力してください'の箇所に //取得したトークンを入力してください。 var token = ['トークンを入力してください']; var options = { "method" : "post", "payload" : {"message": content, }, "headers" : {"Authorization" : "Bearer "+ token} }; UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options); }
追加した箇所は以下赤枠部分です。
スプレッドシートに戻り、ボタンをクリックしましょう。
確認メッセージが表示されました!
- 「OK」をクリックするとLINEが送信されます。
- 「キャンセル」をクリックするとLINEは送信されず終了します。
短いコードを追加するだけで誤送信を防ぐことができるようになりましたね!
注意点
このコードは時間手動型のトリガーを設定して自動送信するスクリプトには使用しないでください。
『毎週〇曜日の△時頃にスクリプトを自動実行する』というようなスクリプトです。
なぜなら「OK」をクリックするまで以降のコードが実行されないため、せっかく楽するために自動設定をした意味がなくなってしまいます(^^;
GASは6分を超えると自動的に処理を終了するため、もし間違ってこのコードを入れてしまった場合6分間確認メッセージが表示され自動終了します。
まとめ
今回は間違えてGASのスクリプトを実行しないように確認メッセージを表示する方法を紹介しました。
具体例としてボタンをクリックすると確認メッセージが表示され、「キャンセル」をクリックするとLINE通知の送信をキャンセルするスクリプトを紹介しました。
ポイント
- スクリプトのはじめに確認メッセージ用のコードをコピペでOK!
- 時間手動型のトリガーを設定しているスクリプトには使用しない
少しでも参考になればうれしいです。