0
0

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 1 year has passed since last update.

Herokuのフリー版で常時起動をGASを用いて行う方法【エラーメールあり】

Posted at

#はじめに
前に書いた「Herokuのフリー版で常時起動をGASを用いて行う方法」では、シンプルにアクセスを行うだけでした。今回の項目では、万が一エラーが発生した際に、指定したメールアドレスにメールを送信するプログラムを作成します。
#準備
「Herokuのフリー版で常時起動をGASを用いて行う方法」
こちらを元に、トリガーの設定などを行なってください。
以下に概要と流れのみ記載しておきます。
##準備の概要

  1. GASの新規作成
  2. コードの記載
  3. トリガーの設定

#メールの送信方法
メールはGASのAPIをつかいGmailを使用して送信します。
##1. 前回のコードの改変

function main() {
  var url ='ここにURLを入力';
  try{
    var data = UrlFetchApp.fetch(url).getContentText();
  } catch(e){
    email(e);
  }
}

###前回との違い
tryとcatchを使用して、例外処理を取得しています。(簡単に申し上げると、tryの処理を行なった際に、エラーが生じたらcatchの処理に移行します)
catchでは、次に記載するemail処理にエラーの内容を送る処理をしています。

##2. メール処理の作成

function email(e) {
  let recipient = "送信したいメールアドレス";
  let subject = "件名";
  let body = "エラーが発生しています\n" 
            +"エラー内容は以下の通りです\n"
            +"\n"
            +"-------------------------\n"
            + e
            +"-------------------------\n";
  GmailApp.sendEmail(recipient, subject, body);
}

##3. 完成
1のURLと2の送信先メールアドレス、件名を入力し完成です。
2のbody変数の中が送信する本文のため、必要に応じ変更してください。
改行は\nでできます。

#やっていること
1は前回とほとんど同じで、tryとcatchで例外処理を行なっています。
2では、catchで取得したエラーコードをe変数に代入し、email関数に送り、それをメールで送信しています。
bodyの中の+ eがその部分です。

#次回
アクセスしたログは実行数から確認することができますが、もっと気軽に確認できるよう、次回はスプレッドシートにログを記載していくプログラムを作成して終了にしたいと思います。
スクリーンショット 2021-12-16 12.36.34.png

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?