我有一些看起来像这样的代码
var folder = DriveApp.getFolderById(/* destination folder id */);
var doc = DriveApp.getFileById(/* document file id */);
var id = doc.makeCopy(folder).setName(/* name of copy */).getId();
var new_doc = DocumentApp.openById(id);
new_doc.addEditor(/* some email address */);
运行此命令会导致脚本停在最后一行并抛出此错误:
很抱歉,发生了服务器错误。请稍等一下再试一次。
如果我注释掉该行,那么脚本运行正常。
如果显然,它对new_doc
是File
而不是Document
,那么最后一行也可以。仅当new_doc
为Document
类型时才会出现错误。Document
类型也不起作用。虽然我得到的错误与File
:
无法在Team Drive项目上使用此操作。
非常奇怪,因为这在一段时间之前就已经开始了。
此脚本中使用的所有资源(脚本,目标文件夹,复制的文件,副本等)都在Team Drive中。
我很困惑这个错误是如何或为何发生的,我正在寻找帮助来解决这个问题。
答案 0 :(得分:0)
通过DriveApp添加编辑器而不是DocumentApp。
使用Team Drive文件时,DocumentApp,SpreadsheetApp和FormApp似乎存在错误。
var folder = DriveApp.getFolderById(/* destination folder id */);
var doc = DriveApp.getFileById(/* document file id */);
var id = doc.makeCopy(folder).setName(/* name of copy */).getId();
var new_doc = DriveApp.getFileById(id); //updated this from DocumentApp to DriveApp.
new_doc.addEditor(/* some email address */);