- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个脚本可以提取 Gmail 中未读邮件的日期(我的想法是我想获取最早的未读电子邮件的日期)
function someFunction () {
var oldSearchQuery = "in:Inbox is:Unread"
var oldThread = GmailApp.search(oldSearchQuery, 0, 500);
for (var inc = 0; inc < oldThread.length; inc++) {
oldThread.forEach(function(messages){
messages.getMessages().forEach(function(msg){
var date = msg.getDate()
Logger.log(date)
});
但是,我想对日期进行排序以获取最旧的日期(或者,如果有人知道更好的方法,只需获取最旧的未读电子邮件)。我尝试使用排序和反转:
Script as above but with ----
var date = msg.getDate()
date.sort();
date.reverse();
Logger.log(date)
});
但它不喜欢它,因为 getDate 返回的值不能很好地与排序配合。有人有什么想法吗?
编辑 ---------------------------------------------------------- ------------
更新以显示当前脚本和输出:
for (var inc = 0; inc < oldThread.length; inc++) {
oldThread.forEach(function(messages) {
messages.getMessages()
.forEach(function(msg) {
var dates = msg.getDate()
var empty = []
empty.push(dates);
var sortedDateList = empty.sort(function(a,b){
return new Date(a) - new Date(b);
});
Logger.log(sortedDateList)
});
输出为:
[18-06-21 13:49:42:549 BST] [Wed Jun 20 02:08:24 GMT+01:00 2018]
[18-06-21 13:49:42:729 BST] [Tue Jun 19 16:15:19 GMT+01:00 2018]
[18-06-21 13:49:42:734 BST] [Wed Jun 20 02:08:24 GMT+01:00 2018]
[18-06-21 13:49:42:739 BST] [Tue Jun 19 16:15:19 GMT+01:00 2018]
我希望看到:
[18-06-21 13:49:42:729 BST] [Tue Jun 19 16:15:19 GMT+01:00 2018]
[18-06-21 13:49:42:734 BST] [Wed Jun 20 02:08:24 GMT+01:00 2018]
[18-06-21 13:49:42:739 BST] [Tue Jun 19 16:15:19 GMT+01:00 2018]
[18-06-21 13:49:42:734 BST] [Wed Jun 20 02:08:24 GMT+01:00 2018]
此外,不知道为什么它会在每封邮件中返回 2 个日期,看起来像是在重复自身?
最佳答案
这并不是您问题的完整解决方案,而是演示如何使用 Array
函数从消息中获取信息。
function getThreadStartDate_(thread) {
const messages = thread.getMessages();
var now = new Date();
var start = messages.reduce(function (earliest, msg) {
var msgStart = msg.getDate();
return (msgStart < earliest) ? msgStart : earliest;
}, now);
return start;
}
function getEarliestMatchingThread_(query) {
const threads = GmailApp.search(query);
// Sort descending, so we can call pop() to access the earliest one.
threads.sort(function (a, b) {
return getThreadStartDate_(b) - getThreadStartDate_(a);
});
return threads.pop();
}
上述的使用示例:
function foo() {
const oldest = getEarliestMatchingThread_("your query here");
Logger.log(oldest.getFirstMessageSubject());
}
请注意,有一个隐含的假设,即您所做的查询不会大到无法管理(如果是,Gmail 将抛出错误)。我还假设至少有一个线程与查询匹配。我建议不要依赖这些假设:)
引用文献:
关于javascript - GmailApp、getDate 和排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50945311/
我有一个脚本可以提取 Gmail 中未读邮件的日期(我的想法是我想获取最早的未读电子邮件的日期) function someFunction () { var oldSearchQuery =
我正在构建一个脚本,每天自动将我的电子邮件从一个标签移动到下一个标签(这样存储的标记为“5 天”的邮件明天将自动标记为“4 天”,然后“3 天”之后的一天,依此类推)。 问题在于它会将标签应用于整个线
您好,我的最终目标是使用通用标签标记选定的邮件,但在执行 Gmail chrome 扩展程序时出现以下错误。 Error logged: ReferenceError: GmailApp is not
这是一个示例代码 GmailApp.sendEmail("email@example.com", "mail subject", "mail body"); 通话后,我可以在我的 gmail 帐户中看
我正在使用 GmailApp 将社区中一名成员的消息转发给其他表示希望收到这些通知的成员。我从 Google 电子表格中提取他们的名字(可以包括中间名或名字首字母)、姓氏和电子邮件地址。然后,该信息的
更新:嗯,似乎发生了一些事情。现在,我的收件箱中的邮件数量已从 36,000 多条增加到 353,000 多条。啊?这里到底发生了什么。 我从未存档过 Gmail 收件箱,因此其中有 36,000 多
我有一个发送电子邮件功能(?),我正在使用它作为日历预订批准系统的一部分。该函数(?)看起来像这样: // Send Email function sendEmail(request){ Mail
截至昨天,2016 年 11 月 10 日,我的谷歌脚本停止工作并出现以下错误消息: Invalid argument: info@mydomain.ch (line 168, file "Code"
我有一个脚本,它使用 GmailApp 发送带有 html 正文的电子邮件。我希望 html 正文包含包含它的电子表格中的特定值,但每次发送电子邮件时,我添加的 scriptlet 都会显示为纯文本。
这里仍然处于学习曲线上。我正在尝试从 Google 表格获取数据并发送数据 Gmail 应用程序,但出现“缺少变量名称”错误。这是我在过去 2 小时内尝试过的方法,我将非常感谢您在构建代码以使其正常工
我注意到,如果收件人电子邮件包含“+”号,则 GmailApp.sendEmail 和 MailApp.sendEmail 无法发送电子邮件。 Gmail supports dynamic alias
我可以通过 GmailApp.sendEmail() 向多个收件人发送电子邮件吗?我试过将收件人地址存储为一个数组,但它似乎没有发送任何一个。 谢谢! 最佳答案 是的你可以。 如果您直接使用 Goog
我已经玩了一个月左右的 GAS,并且我已经非常熟悉使用批处理操作来读取/写入电子表格(例如 getValues()、setValues())。但是,我目前正在编写一个脚本,使用 GmailApp 类从
我正在尝试实现一个简单的谷歌脚本来处理 Gmail 用户收到的每封邮件。 我找到了一个执行以下操作的示例: var threads = GmailApp.getInboxThreads(); for
我正在尝试构建一个 Google 应用脚本,将从在线表单收到的邮件导入到电子表格中。 我使用两个标签:一个“to_process”是由 Gmail 过滤器添加的,另一个“processed”是在电子邮
我需要通过 Gmail 以 HTML 格式发送 Google 文档内容,在邮件中显示与在文档中完全相同的内容(请参见下面的示例代码) 至少可以说,电子邮件收件人收到的 HTML 内容不准确 如果使用
我正在编写一个邮件合并脚本,该脚本使用 GmailApp 获取邮件草稿,获取其 htmlBody 和附件,并使用它们发送新邮件。 它可以很好地处理附件,甚至可以处理从外部 url 插入的内联消息(包括
我正在编写一个邮件合并脚本,该脚本使用 GmailApp 获取邮件草稿,获取其 htmlBody 和附件,并使用它们发送新邮件。 它可以很好地处理附件,甚至可以处理从外部 url 插入的内联消息(包括
在 Google Apps 脚本中使用 GmailApp 时,我注意到以下限制: var threads = GmailApp.search("to:test@example.com"); Logge
我是一名优秀的程序员,十分优秀!