按文件夹和名称获取文件ID

时间:2017-08-10 20:52:03

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

我将特定文件复制到特定文件夹,这里是代码:

  var fileID = "123abc";
  var folderID = "abc123";

  var name = "Conferencia " + Utilities.formatDate(source.getRange(2,4).getValue(), "GMT", "dd-MM-yyyy");

  var file = DriveApp.getFileById(fileID);  
  var folder = DriveApp.getFolderById(folderID);


  var newFile = file.makeCopy(name,folder);
  var newUrl = DocumentApp.openById(newFile.getId());
  Logger.log(newUrl);

此代码完美无缺,但var newUrl = DocumentApp.openById(newFile.getId());除外。这一行应该记录新文件的ID,但它不会起作用。

如何让它发挥作用?

1 个答案:

答案 0 :(得分:2)

var newUrl = DocumentApp.openById(newFile.getId());

表示newUrl现在是Document对象,指向该文件中包含的Google文档(可能是Google文档文件,否则已经出现错误)。它不是Id或URL或任何类型的字符串。

如果您想获取文件的网址,请使用getUrl方法:

var newUrl = newFile.getUrl();

如果你想获得Id(这只是网址的最后一部分),那就是

var newId = newFile.getId();

如果你想使用它们,这些字符串以后可以在DocumentApp.openByUrl或DocumentApp.openById中使用;这些方法将返回一个Document对象。