在云端硬盘中查找特定 Google 文档

Find a specific Google Document in Drive

我正在尝试编写一个脚本来获取云端硬盘中特定但动态的 Google 文档的 URL。 Google 文档每周二创建,其日期位于 Google 文档标题的末尾。

"TypeError: Cannot find function getUrl in object FileIterator." 行 var agendaURL = file.getUrl(); 上显示错误。不确定如何调试它。

  var ssUrl = 'LINK BUFFERED';
  var sheetName = 'SHEET1';   // name of sheet to use
  var rangeName = 'C30';    // range of values to include 
  var dateRange = SpreadsheetApp.openByUrl(ssUrl)
                                .getSheetByName(sheetName)
                                .getRange(rangeName)
                                .getValues(); 


  // NEED TO find how to find file by name below!
  var file = DriveApp.getFilesByName("Weekly Agenda | " +dateRange);
  var agendaURL = file.getUrl();

DriveApp.getFilesByName()得到的值是FileIterator。因此有必要从值中检索文件名,如下所示。

var filename = "Weekly Agenda | " + dateRange;
var file = DriveApp.getFilesByName(filename);
while (file.hasNext()) {
  var file = files.next();
  if (file.getName() == filename) {
    var agendaURL = file.getUrl();
  }
}

这是因为您需要遍历所有满足搜索条件的文件。解决方案在这里:https://developers.google.com/apps-script/reference/drive/drive-app

   var files = DriveApp.getFilesByName("Weekly Agenda | " +dateRange);
     while (files.hasNext()) {
       var file = files.next();
       var agendaURL = file.getUrl();  
       return agendaURL //for first one, or you can return each one, push to an array, etc...
    }