【发布时间】:2020-01-09 11:35:51
【问题描述】:
我在 Google Apps 脚本中使用以下代码,我想在收件箱中获取所有消息。此代码给出“无法将数组转换为数字[][]。(第 19 行,文件“代码”)”错误。如何修复此代码?
var myspreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var mysheet = myspreadsheet.getSheets()[0];
var start = 0;
var max = 19;
var count = 0;
while (count < 7) {
var threads = GmailApp.getInboxThreads(start, max);
var messages = GmailApp.getMessagesForThreads(threads);
//var froms = [];
messages.get
for (var i = 0; i < threads.length; i++) {
var thisThread = threads[i];
var messages = thisThread.getMessages();
var messageCount = thisThread.getMessageCount();
for ( var m = 0; m<=messageCount; m++) {
var lastMessage = messages[m];
froms = ([lastMessage.getId(), lastMessage.getSubject(), lastMessage.getTo(), lastMessage.getFrom(), lastMessage.getCc(), JSON.stringify(lastMessage.getDate()), lastMessage.getReplyTo()]);
mysheet.getRange(1, 1, froms.length, 7).setValues(froms);
froms = [];
}
}
start = start + 100;
count++;
}
}
【问题讨论】:
-
使用
setValues()设置值时,您必须创建一个二维数组,因为此方法设置了一个矩形网格(N 行和 M 列)值。使用[[],[],...]模式(以数组为值的数组) - 外部数组的每个元素代表一行,内部数组的每个元素代表一列
标签: javascript google-apps-script gmail-api