- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经玩了一个月左右的 GAS,并且我已经非常熟悉使用批处理操作来读取/写入电子表格(例如 getValues()、setValues())。但是,我目前正在编写一个脚本,使用 GmailApp 类从 Gmail 中提取大量数据,我的代码运行非常缓慢(甚至超时),而且我似乎无法弄清楚如何使用批处理操作对于我正在尝试做的事情。到目前为止,这是我的代码(更改了电子邮件地址和名称):
function fetchEmails(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var threads = GmailApp.search('in: label:searchedLabel');
var messages = new Array();
function Email(message){
this.date = new Date(message.getDate());
this.body = message.getBody();
}
for(var i=0;i<threads.length;i++){
for(var j=0;j<threads[i].getMessageCount();j++){
if(threads[i].getMessages()[j].getFrom()=="firstName lastName <email@domain.com>"){
var message = new Email(threads[i].getMessages()[j]);
messages.push(message);
}
}
}
}
最佳答案
我认为您正在寻找 GmailApp.getMessagesForThreads()。
function fetchEmails(){
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var threads = GmailApp.search('label:searchedLabel');
var messages = new Array();
function Email(message){
this.date = new Date(message.getDate());
this.body = message.getBody();
}
var gmailMessages = GmailApp.getMessagesForThreads(threads);
for(var i=0;i<thread.length;i++){
var messagesForThread = gmailMessages[i];
for(var j=0;j<messagesForThread.length;j++){
if(messagesForThread[j].getFrom()=="firstName lastName <email@domain.com>"){
var message = new Email(messagesForThread[j]);
messages.push(message);
}
}
}
}
function fetchEmails(){
var messages = Array.prototype.concat.apply([], GmailApp.getMessagesForThreads(
GmailApp.search('label:searchedLabel')).map(function(messagesForThread) {
return messagesForThread.filter(function(message) {
return message.getFrom() == "firstName lastName <email@domain.com>";
}).map(function(message) {
return { date: new Date(message.getDate()), body: message.getBody() };
});}));
}
function fetchEmails(){
var messages = Array.prototype.concat.apply([], GmailApp.getMessagesForThreads(
GmailApp.search('label:searchedLabel from:email@domain.com')).map(
function(messagesForThread) {
return messagesForThread.map(function(message) {
return { date: new Date(message.getDate()), body: message.getBody() };
});}));
}
function fetchEmails(){
var messages = GmailApp.getMessagesForThreads(
GmailApp.search('label:searchedLabel from:email@domain.com'))
.reduce(function(a, b){ return a.concat(b); })
.map(function(message) {
return { date: new Date(message.getDate()), body: message.getBody() };
});
}
关于google-apps-script - Google Apps Script Class GmailApp 批量操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12029027/
我有一个脚本可以提取 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
我是一名优秀的程序员,十分优秀!