从DocsList迁移到DriveApp

时间:2015-05-17 21:40:27

标签: javascript google-apps-script google-drive-api

我是谷歌脚本的新手,能够操作一些代码来为项目工作,但由于以下原因,它将不再有效:

ReferenceError: "DocsList" is not defined.Dismiss

这是我的代码:

function report() {
  var folder = DocsList.getFolder("FOLDER NAME HERE");
  var contents = folder.getFiles();
  var file;
  var data;

  var sheet = SpreadsheetApp.getActiveSheet();
  sheet.clearContents();
  sheet.appendRow(["URL", "Employer"]);
  for (var i = 0; i < contents.length; i++) {
    file = contents[i];
    var qaDate,qaERName
    if (file.getFileType()==DocsList.FileType.SPREADSHEET) {
      var dataSheet = SpreadsheetApp.open(file).getSheetByName("data");
      var configSheet = SpreadsheetApp.open(file).getSheetByName("Config");

我有一些对DocsList的引用,我已经做了一些挖掘并且无法弄清楚如何获得与getfolder类似的东西

1 个答案:

答案 0 :(得分:2)

让我们从第一行开始:

var folder = DocsList.getFolder("FOLDER NAME HERE");

如果您转到documentation,并查看DriveApp与文件夹有关的所有方法,您会看到以下四种方法:

  • getFolderById(ID)
  • getFolders()
  • getFoldersByName(名称)
  • getRootFolder()

只有一种方法只能获得一个文件夹getFolderById(id)。如果每次都获得相同的文件夹,并且可以轻松获取ID,则使用该选项。如果那是不可能的,那么您可以使用getFoldersByName(name),但这会获得多个文件夹。即使它有多个文件夹,您也可以轻松获得第一个文件夹。

var folders = DriveApp.getFoldersByName('Folder Name');
var folder = folders.next();

Logger.log('folder: ' + folder.getName());

所以,从那里开始,做出改变。