而不是使用:
var copyDoc = DocsList.getFileById(templateid).makeCopy(docName).getId();
我想用:
var copyDoc = DriveApp.getFileById(templateid).makeCopy(name, destination).getId();
我无法获得目标权限的语法,这是文件夹路径还是文件夹ID或其他内容?一个例子将不胜感激。
答案 0 :(得分:2)
我知道这个问题有点旧,但希望这会有助于未来的读者。我有同样的疑问,并经过几次猜测后发现了它。基本上,您必须考虑Google云端硬盘中的文件夹,方法与其他任何对象(例如Google文档或电子表格)相同,即文件夹不是真实的,它们只是具有Google ID参考的对象。
我解决这个问题的简单方法是创建我所需的文件夹结构,然后记下该文件夹的Google URL ID,这可以在导航文件夹时在地址栏URL中找到,例如:
https://drive.google.com/a/[your company]/?usp=chrome_app&usp=chrome_app#folders/ABCDEFGHIJKL12345
^^^^^^^^^^^^^^^^^
在上面的示例网址中,带下划线的文字将是唯一ID。
然后,您可以在脚本中使用getFolderById()
方法设置目标,例如:
var file = "New File Name";
var folder = DriveApp.getFolderById("**[Your ID From Above]**");
file.makeCopy(file, folder);
还有其他方法可以按名称获取文件夹,但这些方法包括一次迭代一个文件夹,大大增加了所需的代码量。