Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 将Google文档脚本更新到Google Drive(将带有标记的电子邮件存档到驱动器)_Google Apps Script - Fatal编程技术网

Google apps script 将Google文档脚本更新到Google Drive(将带有标记的电子邮件存档到驱动器)

Google apps script 将Google文档脚本更新到Google Drive(将带有标记的电子邮件存档到驱动器),google-apps-script,Google Apps Script,我的脚本将带有特定标签的pdf版本电子邮件保存到Google drive。对于三个不同的标签,我有三个几乎相同的脚本版本,并定期运行它们 最近,由于DocsList贬值,他们停止了工作。我将DocsList的所有实例都更改为DriveApp,但现在出现错误“TypeError:无法在对象FolderIterator中找到函数createFolder” 问题在最后几行,脚本应该在其中创建一个文件夹来保存电子邮件的pdf 有人能帮我修复createFolder函数并让脚本恢复运行吗 /** *主功

我的脚本将带有特定标签的pdf版本电子邮件保存到Google drive。对于三个不同的标签,我有三个几乎相同的脚本版本,并定期运行它们

最近,由于DocsList贬值,他们停止了工作。我将DocsList的所有实例都更改为DriveApp,但现在出现错误“TypeError:无法在对象FolderIterator中找到函数createFolder”

问题在最后几行,脚本应该在其中创建一个文件夹来保存电子邮件的pdf

有人能帮我修复createFolder函数并让脚本恢复运行吗

/**
*主功能在电子表格打开时运行
*/
函数onOpen(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
变量菜单项=[
{name:“Initialize”,functionName:“init”},
{name:“存档Gmail邮件”,functionName:“扫描Gmail”}
];
ss.addMenu(“Gmail Archiver”,菜单);
}
/**
*初始化系统
*/
函数init(){
//创建所需的Gmail标签
createLabel(“归档到驱动器”);
//创建Google驱动器文件夹(如果不存在)
试一试{
var folder=DriveApp.getFolder(“电子邮件存档”);
}捕获(e){
//文件夹不存在
DriveApp.createFolder(“电子邮件存档”);
}
msgBox(“创建的Gmail标签:存档到驱动器和谷歌驱动器文件夹:电子邮件存档”);
}
/**
*扫描Gmail帐户中的邮件存档请求
*/
函数ScanGmail(){
//用于存档邮件的默认驱动器文件夹
var baseFolder=“Sparkfly收据2015”;
//拿到标签
var label=GmailApp.getUserLabelByName(“Sparkfly收据”);
var threadsArr=getThreadsForLabel(标签);

对于(var j=0;j方法getFoldersByName()返回一个(文件夹对象的集合),该集合不包含“createFolder”方法

因此,如果集合中至少有一个文件夹对象,则应将该对象从集合中取出,然后调用“createFolder”


您可以在这里找到文档:

DocsList已弃用,您需要做的不仅仅是将实例重命名为DriveApp。对于一个类似的问题,显示了迭代器在新DriveApp中的使用。是的。我希望在我需要做的更多事情上得到一些帮助。但我已经找到了。我只需要添加。next()到调用getFoldersByName的行的末尾。@Dan如果有多个同名文件夹(在多个位置,甚至在同一位置,.next()提供其中一个,但不一定是在正确的时间提供的正确路径。您可能希望使用整个路径来确定是哪一个。谢谢!我不太了解所有这些,但一位朋友帮助我发现,我只需要在调用getFoldersByName的行的末尾添加.next()。