👩‍💻

#61 Google Apps Script(GAS)からエラー通知メールが届いたので確認してみた

2024/09/25に公開

はじめに

これまでGASを使い、いろいろ試してきました。

スプレッドシートとGASで締め切りの前のタスクをメールで通知させてみた
GoogleFormの回答をGoogleChatに通知したい
GoogleFormの回答が条件に当てはまる場合にメールで通知を送りたい

今回は、以前に作成したスクリプトからエラー通知のメールが届いたため、エラーの内容と通知の設定について確認していきたいと思います。

届いたエラーメール

エラーメールには、スクリプトの実行に関する情報が書いてありました。エラーの原因が特定しやすくなるので、詳細に記載されているのはありがたいです。

image.png

GASを確認する

プロジェクトの詳細

メールの "click_here" を押下でGASの「プロジェクトの詳細」画面に遷移します。

GASからは「トリガー」>画面右の「…」から遷移できます。
image.png

プロジェクトの詳細画面では、エラー率や実効数などを図でわかりやすく表示してくれています。
image.png

実行数:1,788
エラー率:0.06%

実行数とエラー率を使って計算してみたところ、エラーは7日間で1回だけのようでした。

エラー通知の設定

次にエラー通知の設定について確認してみます。
画面左のメニューから「トリガー」を押下で過去に設定したトリガーが一覧表示されます。
image.png

右側のペンのマークから「トリガーを編集」することができます。
image.png

ここで確認したいのが「エラー通知設定」です。
現在は「毎日通知を受け取る」が選択されています。

「毎日通知を受け取る」の場合、エラーが起きた次の日に前日に起こったエラーをまとめて通知してくれます。
個人的にはエラーが起きたらすぐに通知してほしいので設定を変更します。
image.png

「今すぐ通知を受け取る」を選択している場合と、エラーが起きる度、都度通知してくれます。

※トリガー設定の変更を行った方は忘れずに「保存」してください。

実行数の確認

次にエラーが起きた実行を確認します。
画面左のメニューから「実行数」を押下します。
image.png

今までの実行履歴が一覧で表示されます。
5分おきに実行する設定にしていたので実行履歴が多く、エラーが起きたのがどの実行時だったのか特定が難しいです。

エラーが起きた実行のみに絞り込んで表示させます。
画面上の「フィルタを追加」>「ステータス」を押下
image.png

「失敗しました」を選択>「適応」を押下します。
image.png

エラーが起きた実行の絞り込みに成功しました。
image.png

指定の実行行を押下で詳細が確認できます。
image.png

メールの内容とあっているため、通知がきたのはこちらの実行についてで間違いなさそうです。

We're sorry, a server error occurred while reading from storage. Error code INTERNAL.

エラーメッセージは、ストレージの読み取り中にサーバーエラーが起きたという内容です。

エラーの原因

1度しかエラーが発生していないこと。
エラー発生日周辺でスクリプトの修正を行おうとしていた気がすること。
この2点から「スクリプトのオーナー以外のユーザーでスクリプトを実行しようとした」ことが今回のエラーの原因ではないかと推測しています。
参照:https://blog.ametsuyu.com/gas_err01/

まだ見たことはありませんが他にもいろいろなエラーを教えてくれるようです。
参照:https://qiita.com/yamabe08/items/01e0335a07704a0d6224

最後に

今回はエラーが単発的なものだったこともあり対策は行いませんでした。
今後、もし他のエラーが発生した際には通知を活用して対応していきたいです。
ご覧いただきありがとうございました。

Discussion