Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌应用程序脚本:回复Gmail邮件时引用上一条消息线程_Google Apps Script - Fatal编程技术网

Google apps script 谷歌应用程序脚本:回复Gmail邮件时引用上一条消息线程

Google apps script 谷歌应用程序脚本:回复Gmail邮件时引用上一条消息线程,google-apps-script,Google Apps Script,我正在使用谷歌应用程序脚本撰写对Gmail邮件的回复 function reply(messageId) { var message = GmailApp.getMessageById(messageId); message.reply("Thanks for the message!"); } 很简单 除了我想引用之前的整个消息线程,当你在电子邮件客户端点击“回复”时通常会发生这种情况 我希望引用的线程出现缩进,就像你的电子邮件客户端会做的 有什么建议吗 谢谢 您希望通过添加mes

我正在使用谷歌应用程序脚本撰写对Gmail邮件的回复

function reply(messageId) {
  var message = GmailApp.getMessageById(messageId);
  message.reply("Thanks for the message!");
}
很简单

除了我想引用之前的整个消息线程,当你在电子邮件客户端点击“回复”时通常会发生这种情况

我希望引用的线程出现缩进,就像你的电子邮件客户端会做的

有什么建议吗

谢谢

  • 您希望通过添加
    message
    from
    var message=GmailApp.getMessageById(messageId)的正文来回复邮件作为报价
如果我的理解是正确的,那么这个答案呢

问题和解决方法: 不幸的是,在当前阶段,没有通过添加上一条消息正文作为报价直接回复电子邮件的内置方法。因此,在这个答案中,一个简单的方法,我想建议检索前面的消息正文,并添加回复电子邮件作为引用

修改脚本: 当您的脚本被修改时,它将变成如下所示

function reply(messageId) {
  var message = GmailApp.getMessageById(messageId);

  // I added the following script.
  const newMessage = "Thanks for the message!";
  const replyMessage = message.getPlainBody().split("\n").reduce((s, e) => (s += `> ${e}\n`)
  , `${newMessage}\n\n${message.getDate().toISOString()} ${message.getFrom()} wrote:\n\n`);
  message.reply(replyMessage);
}
注:
  • 在此修改中,将使用文本正文
  • 此外,作为示例,ISO 8601类型的日期用作上一条消息的日期。因此,如果您想使用其他日期格式,请根据您的实际情况进行修改
  • 请在启用V8时使用此修改后的脚本
参考资料:

谢谢你的提示。您只是在纯文本正文的每一行开头添加“>”吗?@gnome是的。因为在当前阶段,当使用脚本和API回复电子邮件时,没有添加上一条消息(如浏览器中的手动回复)的方法。所以我使用了上面的解决方法。如果这不是你期望的方向,我道歉。谢谢你的建议。我试过这样做,但不幸的是,在每一行的开头添加“>”的纯文本并不能在较小的屏幕上正确包装。我相信我找到了一个可行的解决方案,将htmlBody包装在标签中。@gnome感谢您的回复。我无法理解在较小的屏幕上,将“>”添加到纯文本的每一行开头并不能正确包装。
。我能问一下细节吗?