gpt4 book ai didi

javascript - 将 Gmail 拉入 Google 表格

转载 作者:行者123 更新时间:2023-11-29 19:03:42 27 4
gpt4 key购买 nike

此脚本可以出色地将电子邮件提取到我的工作表中。我的问题是该函数只提取列出的前两个字段。例如,getPlainBody、getSubject - 尽管需要更多字段。因此,我没有使用一个函数来提取我需要的所有字段(getPlainBody、getSubject、getTo、getDate、getFrom),而是只获取前两个(getPlainBody、getSubject)。是否有将所有 5 个字段拉入工作表的明显修改?

function getEmails_(q) {
sh0.clear();
var emails = [];
var threads = GmailApp.search(q);
for (var i in threads) {
var msgs = threads[i].getMessages();
for (var j in msgs) {
emails.push([msgs[j].getPlainBody(), [msgs[j].getSubject(), [msgs[j].getDate(), [msgs[j].getTo(), [msgs[j].getFrom()

]]]]]);
}
}
return emails;

}

function appendData_(sh0, array2d) {
sh0.getRange(sh0.getLastRow() + 1, 1, array2d.length, array2d[0].length).setValues(array2d);
}

function saveEmails() {
var array2d = getEmails_(SEARCH_QUERY);
if (array2d) {
appendData_(sh0, array2d);
}}

最佳答案

您的代码很好,问题在于您如何构建二维数组。

.push() 方法中,您使用方括号 - [] - 在另一个数组中的另一个数组中的另一个数组中的另一个数组中的另一个数组中构建一个数组,它更容易在下面的屏幕截图中看到它。 enter image description here

您需要的是 1 个水平单元格数组和一个垂直行数组。 enter image description here

所以改变:

emails.push([msgs[j].getPlainBody(), [msgs[j].getSubject(), [msgs[j].getDate(), [msgs[j].getTo(), [msgs[j].getFrom()]]]]]);

emails.push([msgs[j].getPlainBody(), msgs[j].getSubject(), msgs[j].getDate(), msgs[j].getTo(), msgs[j].getFrom()]);

就个人而言,我通常总是将日期格式化为更易读的格式。您可以使用 Utilities 来执行此操作。例如:格式:Thu Jun 15 2017 11:18:18 GMT+0700 (ICT)15/06/2017 @ 11:18

var formatDate = Utilities.formatDate(emails[i][2], 'GMT+07:00', 'dd/MM/yyyy @ HH:mm')

关于javascript - 将 Gmail 拉入 Google 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616921/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com