質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

解決済

1回答

5442閲覧

トリガーはつくられるが実行されない

takllin

総合スコア7

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/01/30 15:15

以下2つの関数をつくり、GASのトリガーを使って毎日指定した時刻にメールを送りたいと考えていますが、トリガは生成されるのですが実行されないためメールが送られません。

function reserve(){ //トリガー削除(上限に当たらないよう削除が必要) var triggers = ScriptApp.getProjectTriggers(); //プロジェクト内のトリガー取得 triggers.forEach(function(trigger){ var name = trigger.getHandlerFunction(); //トリガーの関数名を取得 if(name == "autoMail"){ ScriptApp.deleteTrigger(trigger); } }); //当日分のトリガー設定 var date = new Date(); date.setHours(時間); date.setMinutes(分); ScriptApp.newTrigger("autoMail").timeBased().at(date).create(); }
function autoMail() { MailApp.sendEmail( "メールアドレス", "件名", "本文"); }

reserveに以下の通りトリガを入れると、
イメージ説明

午後5時過ぎたあたりに、ちゃんとautoMailのトリガが生成され、中を見てもちゃんとreserveで指定した時間が入っています。
イメージ説明
イメージ説明
にも関わらず時間になってもautoMailは未実行のまま残り続けます。

以下の操作はすべて正常に実行されるのに、時間指定だけができません。

  1. autoMailをエディタから即時実行(=autoMailはちゃんと動く)
  2. autoMailに直接時間主導型のトリガを設定(月ベースから分ベースまですべて動く。特定の日時も手動で設定する分には動く)
  3. reserveで生成されたautoMailのトリガの時間を手動で修正して保存すると動く

数日待ってみたり、設定をし直してみたり、関数名を変えてみたりしたけれどダメです。

エラーが出ている様子もありません。

何がいけないのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sawa

2021/02/01 00:00

GASで日時に関連する不具合だと、最近はスクリプトのタイムゾーンが影響していることが多いです。 以下を参照いただき、現在のタイムゾーン設定の確認と修正を試してみてはいかがでしょうか? https://teratail.com/questions/317049#reply-442105
takllin

2021/02/01 14:20

まさにこれでした。 ありがとうございました。
guest

回答1

0

自己解決

質問への追記・修正の依頼でアドバイスいただいたとおり、スクリプトエディタのタイムゾーンをASIA/TOKYOに変更したら直りました。

投稿2021/02/01 14:22

編集2021/02/01 14:29
takllin

総合スコア7

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問