使用驱动器服务的应用程序脚本“File”类和“.setContent”方法的语法

使用驱动器服务的应用程序脚本“File”类和“.setContent”方法的语法,file,class,methods,google-apps-script,File,Class,Methods,Google Apps Script,我正在尝试使用File类的Google Apps Script.setContent方法。我尝试创建一个对象,然后对该对象使用.setContent方法,但出现了一个错误: 在对象FileIterator中找不到函数setContent 我试图首先使用以下代码行创建文件对象: var files = DriveApp.getFilesByName('D12_20517_957'); 然后将新内容放入文件: files.setContent("This is the new content.")

我正在尝试使用File类的Google Apps Script.setContent方法。我尝试创建一个对象,然后对该对象使用.setContent方法,但出现了一个错误:

在对象FileIterator中找不到函数setContent

我试图首先使用以下代码行创建文件对象:

var files = DriveApp.getFilesByName('D12_20517_957');
然后将新内容放入文件:

files.setContent("This is the new content.");
我做错了什么?对象是否有效?setContent方法显然需要知道目标是什么

GetFileByName方法是FileIterator集合。也许我一开始并没有创建一个文件对象?好的,FileIterator似乎只有三个方法,它们都与设置内容无关。但是for类文件中的示例使用GetFileByName

setTrashed是列出的一种方法。也许我需要使用while循环,即使我只尝试访问一个文件

所以,我试着用这个:

function testWrite() {
   var files = DriveApp.getFilesByName('D12_20517_957');

   while (files.hasNext()) {
     var file = files.next();
       files.setContent("dbID");
   }
 };
我也犯了同样的错误。我不知道还能尝试什么。如何将新内容写入已创建的Google文档?

setContentcontent

用给定的替换内容覆盖文件的内容

setContent是一个方法,因此它调用一个操作。它将替换所引用内容中的所有内容。注:setContent是多个类中使用的方法。例如,驾驶、评论

我想按名称引用一个文件,这是可能的,但在我写这篇文章的时候,这不是一个一步的过程

有多种方法可以引用文件:

var files=DriveApp.getFiles;获取文件的集合。 var files=DriveApp.getfilesbyname;获取文件的集合。 var files=DriveApp.getFileByIdid;获取单个文件。 在Google Drive中,可以有多个同名文件。这就是为什么不能在一个步骤中按名称获取单个文件的原因


可以按名称获取单个文件,但即使它只是一个文件,也必须在文件集合上使用文件迭代器,即使getFileByNameName方法可能只返回一个文件。所以现在我明白发生了什么。这是他们在文档中没有向您解释的内容。

我确实让它起作用了!在设置内容之前,我在文件末尾有一个字母s。所以我想我不能只处理一个文件而不迭代while循环?我不能只访问一个文件,除非我知道那个文件ID?如何获取文件ID?可能在创建文件时获取文件ID?我刚刚注意到有一个DocsList服务可以创建文件。也许我最好用这个。
function testWrite() {
   var files = DriveApp.getFilesByName('D12_20517_957');

   while (files.hasNext()) {
     var file = files.next();
       files.setContent("dbID");
   }
 };