Google Apps Script (GAS)を使用してGmailのトリガーを実行する際に、あと何回実行できるかを知るためには、GASのクォータ情報を確認し、残りの実行回数を計算する必要があります。以下に、GASのクォータ情報と残りの実行回数を取得する方法を説明します。
GASのクォータ情報
GASにはさまざまなクォータがありますが、特に重要なのは以下のクォータです:
- メール送信の受信者数: 無料アカウントでは1日あたり100人、Google Workspaceアカウントでは1日あたり1,500人まで。
- トリガーの合計実行時間: 無料アカウントでは1日あたり90分、Google Workspaceアカウントでは1日あたり6時間
残りのメール送信回数を取得する方法
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()メソッドを使用することで、残りのメール送信回数を取得できます。