Google apps script 使用Google应用程序脚本将电子邮件标记为已读
我是谷歌应用程序脚本的业余爱好者 让这个脚本运行正常,但需要实现一个以上的功能。 现在我需要这个: 我需要将脚本读取的电子邮件标记为已读 我尝试了几种选择,但没有积极的结果 有人能帮我在脚本中实现它吗Google apps script 使用Google应用程序脚本将电子邮件标记为已读,google-apps-script,Google Apps Script,我是谷歌应用程序脚本的业余爱好者 让这个脚本运行正常,但需要实现一个以上的功能。 现在我需要这个: 我需要将脚本读取的电子邮件标记为已读 我尝试了几种选择,但没有积极的结果 有人能帮我在脚本中实现它吗 function processInboxToSheet() { //var threads = GmailApp.getInboxThreads(); // Have to get data separate to avoid google app script limit! var
function processInboxToSheet() {
//var threads = GmailApp.getInboxThreads();
// Have to get data separate to avoid google app script limit!
var start = 0;
var threads = GmailApp.search("newer_than:1d AND is:unread AND label:eur OR label:desc",0,100);
var sheet = SpreadsheetApp.getActiveSheet();
var result = [];
for (var i = 0; i < threads.length; i++) {
var messages = threads[i].getMessages();
var content = messages[0].getPlainBody();
// implement your own parsing rule inside
if (content) {
var tmp;
tmp = content.match(/\b([A-B\d][A-B\d]{4})\b/);
var cod = (tmp && tmp[1]) ? tmp[1].trim() : 'Error';
tmp = content.match(/\b(\d+[R])/);
var prom = (tmp && tmp[1]) ? tmp[1].trim() : 'Error';
tmp = content.match(/\b(\d{2}\.\d{2}\)\b/);
var exp = (tmp && tmp[1]) ? tmp[1].trim() : 'Error';
sheet.appendRow([cod, prom, exp]);
Utilities.sleep(500);
}
}
};
函数processInboxToSheet(){
//var threads=GmailApp.getInboxThreads();
//必须单独获取数据以避免谷歌应用程序脚本限制!
var start=0;
var threads=GmailApp.search(“更新:1d和is:未读,标签:eur或标签:desc”,0100);
var sheet=SpreadsheetApp.getActiveSheet();
var结果=[];
对于(var i=0;i
如果我理解正确,您希望将每个线程中的第一条消息标记为已阅读。要做到这一点,你必须使用
现在,这是一个对应于的方法。因此,您需要从此类的实例调用此方法。现在,在代码中有变量messages
,它是线程中的消息数组,而不是消息。要访问单个消息,必须指定数组的索引。线程中的第一条消息对应于message[0]
,因此必须在这里使用markRead
因此,您唯一需要做的就是在定义了消息之后,在for
循环中的任何位置添加以下代码行:
消息[0].markRead();
(如果只想在邮件包含正文内容时将邮件标记为已读,则必须在If
块中添加上面的行。)
另外,如果您想将线程标记为已读(Gmail线程也有一个,您可以在for
循环开头的这行代码处:
threads[i].markRead();
我希望这能有所帮助。展示您迄今为止所做的尝试。您查看过.markRead()吗
method?您可以将邮件标记为read via或thread via。如果您在执行此操作时遇到问题,请提供有关您希望完成的操作的更多详细信息。感谢响应人员。只在第一条邮件中粘贴代码。我查看了.markRead()但我的代码不适合我。很抱歉,我在这方面非常业余。@lamblichus我希望实现的是“简单”(但对我来说非常努力)脚本在第一个消息中解析了一些电子邮件的电子邮件数据,我只需要在分析邮件之后,将它们标记为Gmail中的阅读。非常感谢!Ouuuu MaM.!!IAMBLICHUS很多,非常感谢!工作得很完美!@ Markusen最受欢迎。也请考虑一下。这是有用的,因为这个社区依赖它来共享知识。dge给其他用户。我通过实现您的答案创建了一个新问题,并与此脚本相关。在相同的条件下,您将非常乐意帮助我,阅读所有电子邮件,而不仅仅是线程中的第一条消息?谢谢!