スキルアップを始める!

【Google Apps Script (GAS)】 Gmailのトリガーがあと何回実行できるか確認する|getRemainingDailyQuotaメソッド

GAS(GoogleAppsScript)
GAS(GoogleAppsScript)
この記事は約4分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める
\ワードプレスのスキルアップはこちら!/ WordPress入門読本

Google Apps Script (GAS)を使用してGmailのトリガーを実行する際に、あと何回実行できるかを知るためには、GASのクォータ情報を確認し、残りの実行回数を計算する必要があります。以下に、GASのクォータ情報と残りの実行回数を取得する方法を説明します。

GASのクォータ情報

GASにはさまざまなクォータがありますが、特に重要なのは以下のクォータです:

  • メール送信の受信者数: 無料アカウントでは1日あたり100人、Google Workspaceアカウントでは1日あたり1,500人まで。
  • トリガーの合計実行時間: 無料アカウントでは1日あたり90分、Google Workspaceアカウントでは1日あたり6時間
Google サービスの割り当て  |  Apps Script  |  Google for Developers

残りのメール送信回数を取得する方法

GASでは、MailApp.getRemainingDailyQuota()メソッドを使用して、残りのメール送信回数を取得できます。このメソッドは、当日の残りのメール送信回数を返します。

サンプルコード

以下のコードは、残りのメール送信回数をログに出力する例です。

function logRemainingEmailQuota() {
var remainingQuota = MailApp.getRemainingDailyQuota();
Logger.log('Remaining email quota: ' + remainingQuota);
}

この関数を実行すると、残りのメール送信回数がログに出力されます。

残りのトリガー実行回数を計算する方法

トリガーの実行回数を管理するためには、スクリプトプロパティを使用して実行回数をカウントし、クォータに基づいて残りの実行回数を計算します。

サンプルコード

以下のコードは、トリガー実行回数をカウントし、残りの実行回数を計算する例です。

function countTriggerExecutions() {
var scriptProperties = PropertiesService.getScriptProperties();

// 実行回数を取得
var executionCount = scriptProperties.getProperty('executionCount');
if (!executionCount) {
executionCount = 0;
}

// 実行回数を数値に変換
executionCount = parseInt(executionCount, 10);

// トリガーのクォータ(無料アカウントの場合)
var triggerLimit = 90; // 分

// 残りの実行時間を計算
var remainingExecutions = triggerLimit - executionCount;

// 残りの実行時間をログに出力
Logger.log('Remaining trigger executions (minutes): ' + remainingExecutions);

// 実行回数をインクリメント
executionCount++;

// 実行回数を保存
scriptProperties.setProperty('executionCount', executionCount);

// 必要な処理をここに記述
if (remainingExecutions <= 0) {
Logger.log('Trigger execution limit reached.');
// 追加の処理(例: 管理者に通知)
}
}

この関数をトリガーとして設定することで、実行回数を管理し、クォータに達した場合に適切な処理を行うことができます。

トリガーの設定方法

以下のコードを使用して、定期的に実行されるトリガーを設定します。

function createTrigger() {
ScriptApp.newTrigger('countTriggerExecutions')
.timeBased()
.everyMinutes(10) // 10分ごとに実行
.create();
}

この関数を実行すると、countTriggerExecutions関数が10分ごとに実行されるトリガーが作成されます。

これにより、GASのクォータを超えないように実行回数を管理し、残りの実行回数を確認することができます。

まとめ

MailApp.getRemainingDailyQuota()メソッドを使用することで、残りのメール送信回数を取得できます。

URLをコピーしました!