使用示例代码将电子邮件主题导入 Google 电子表格
Import email Subject into a Google spreadsheet using sample code
我正在尝试使我在 Whosebug post
上找到的代码正常工作
@Serge insas 发布了以下代码
function getMessagesWithLabel() {
var destArray = new Array();
var threads = GmailApp.getUserLabelByName('Facebook').getThreads(1,10);
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
destArrayRow.push('thread has '+threads[n].getMessageCount()+' messages');
for(var m in msg){
destArrayRow.push(msg[m].getSubject());
}
destArray.push(destArrayRow);
}
Logger.log(destArray);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel() RESULTS')};
sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray)
}
因此,为了使此代码正常工作,我创建了一个名为 'Facebook' 的 gmail 'label'。
- 我将一封电子邮件移到了 'Facebook' 标签中。
- 然后我创建了一个电子表格。
- 我进入了该电子表格的脚本编辑器
- 我创建了电子表格脚本
- 我添加了上面发布的代码
- 我运行功能并授权
- 我再次 运行 GetMessagesWithLabel 函数,但出现以下错误。
TypeError: Cannot read property "length" from undefined. (line 53, file "Code")
第 53 行是
sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray)
我希望有人能帮助我使这个示例工作。
此致,
克里斯
这一行:
var threads = GmailApp.getUserLabelByName('Facebook').getThreads(1,10);
有错误。
这个方法:
getThreads(1,10)
应该有一个零参数而不是 1。
getThreads(0,10)
索引从零开始,不是一。您在新的 "Facebook" 标签中只有一封电子邮件。起始索引为 1,开始检索第二封电子邮件,然后上升到十。
我正在尝试使我在 Whosebug post
上找到的代码正常工作@Serge insas 发布了以下代码
function getMessagesWithLabel() {
var destArray = new Array();
var threads = GmailApp.getUserLabelByName('Facebook').getThreads(1,10);
for(var n in threads){
var msg = threads[n].getMessages();
var destArrayRow = new Array();
destArrayRow.push('thread has '+threads[n].getMessageCount()+' messages');
for(var m in msg){
destArrayRow.push(msg[m].getSubject());
}
destArray.push(destArrayRow);
}
Logger.log(destArray);
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();
if(ss.getLastRow()==0){sh.getRange(1,1).setValue('getMessagesWithLabel() RESULTS')};
sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray)
}
因此,为了使此代码正常工作,我创建了一个名为 'Facebook' 的 gmail 'label'。
- 我将一封电子邮件移到了 'Facebook' 标签中。
- 然后我创建了一个电子表格。
- 我进入了该电子表格的脚本编辑器
- 我创建了电子表格脚本
- 我添加了上面发布的代码
- 我运行功能并授权
- 我再次 运行 GetMessagesWithLabel 函数,但出现以下错误。
TypeError: Cannot read property "length" from undefined. (line 53, file "Code")
第 53 行是 sh.getRange(ss.getLastRow()+1,1,destArray.length,destArray[0].length).setValues(destArray)
我希望有人能帮助我使这个示例工作。
此致,
克里斯
这一行:
var threads = GmailApp.getUserLabelByName('Facebook').getThreads(1,10);
有错误。
这个方法:
getThreads(1,10)
应该有一个零参数而不是 1。
getThreads(0,10)
索引从零开始,不是一。您在新的 "Facebook" 标签中只有一封电子邮件。起始索引为 1,开始检索第二封电子邮件,然后上升到十。