【问题标题】:Get email size using google apps script使用谷歌应用脚​​本获取电子邮件大小
【发布时间】:2019-06-07 14:03:15
【问题描述】:

我写这个是为了从 gmail 中提取最后 500 多条消息到电子表格中。

function myFunction() {

  var ss = SpreadsheetApp.getActiveSheet();

  var threads = GmailApp.getInboxThreads();

  for (var i=0; i<threads.length; i++)
  {
    var messages = threads[i].getMessages();

    for (var j=0; j<messages.length; j++)
    {
      var frm = messages[j].getFrom();
      var to = messages[j].getTo();
      var dat = messages[j].getDate();

      ss.appendRow([frm, to, dat])
    }
  }
}

是否可以获取每封电子邮件的大小(带附件和不带附件)?当我查看Gmail message method 的文档时,没有任何我可以使用的功能。

【问题讨论】:

  • 你可以get the size of attachments。你可以get the raw content as a string 然后得到字符串的长度。不过,不确定这对你有多大好处。
  • 除上述之外,对于普通消息,可以使用Utilities.newBlob(raw content string).getBytes().length
  • 谢谢你们。你摇滚! (我不能在此评论中提及 2 个用户)

标签: google-apps-script google-sheets google-api gmail-api google-apps


【解决方案1】:

感谢@s1c0j1@TheMaster。我可以使用这个函数来获取电子邮件的大小。

var size = Utilities.newBlob(messages[j].getRawContent()).getBytes().length;

【讨论】:

    【解决方案2】:

    user.messages.get 返回一个user.messages.response,其中包含一个名为“sizeEstimate”的参数

    sizeEstimate integer 消息的估计大小(以字节为单位)。

    您需要记住这是一个估计值。

    【讨论】:

      猜你喜欢
      • 2013-04-04
      • 2017-07-31
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多