我如何让谷歌应用脚本服务的剩余每日邮件配额

How do I get the remaining daily mail quota of google apps scripts service to work consistently?(我如何让谷歌应用脚本服务的剩余每日邮件配额一致地工作?)

本文介绍了我如何让谷歌应用脚本服务的剩余每日邮件配额一致地工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做了一个关于Google应用程序脚本的项目,以便在发送表单回复后自动发送电子邮件。但是,当我使用MailApp.getRemainingDailyQuota()方法检查每日剩余电子邮件配额时,配额响应因每次脚本执行而异。

所以我使用MailApp.getRemainingDailyQuota()方法创建了另一个项目来测试配额,尽管如此,每次执行时配额响应都不同。


用于测试的代码:

function testeDeCota() { 
  let cota;

  cota = MailApp.getRemainingDailyQuota();
  Logger.log("Cota de emails restantes: " + cota);

  cota = MailApp.getRemainingDailyQuota();
  Logger.log("Cota de emails restantes: " + cota);

}

我使用的工作区帐户的配额为每天1500封电子邮件。

这是我执行死刑的截图。请注意,有3次连续执行,没有发送任何电子邮件,即使配额响应各不相同。回复如下:

1394; 1399; 1390。

每当我尝试发送电子邮件或获取配额信息时,数字只是随机变化。

printscreen of the script executions

推荐答案

这似乎是故意的行为。

除了Marios提到的旧问题(Gmail SendEmail Quota - Decrementing Bug/issue),这是最近在Issue Tracker上报告的,并以Intended Behaviour

结束
  • MailApp.getRemainingDailyQuota() is giving incorrect information

查看备注#6和#8:

此方法返回值的这种小波动是意料之中的。

此行为是由Apps脚本内部处理配额的方式引起的。这是预期行为。

不同的执行与循环:

有趣的是,只有在单独的调用中调用此方法时才能看到这种差异。相反,在循环中调用此方法时,不会显示波动:

for(i=1; i<=n; i++) {
  SpreadsheetApp.openById(documentID).getSheetByName(sheetName).appendRow([new Date(), MailApp.getRemainingDailyQuota()]);
  Utilities.sleep(1000);
}

提交功能请求:

如参考问题中所述,如果这以某种方式影响了您的工作流程,您可以考虑filing a feature request。

这篇关于我如何让谷歌应用脚本服务的剩余每日邮件配额一致地工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:我如何让谷歌应用脚本服务的剩余每日邮件配额

基础教程推荐