小编cha*_*h. 的帖子

将所有权转移到编辑器时,File.setOwner()返回"不允许操作"

我有一个谷歌脚本,用于根据谷歌电子表格中存储的数据生成文档.生成文档后,我试图将所有者更改为其他gmail帐户,但我不断收到以下错误:

[15-09-23 09:55:09:480 PDT] File.setOwner([bob@gmail.com])[1.03秒]

[15-09-23 09:55:09:566 PDT]执行失败:不允许动作(第82行,文件"助手")[总运行时间为5.401秒]

我想了解为什么我无法使用Google App Script更改所有者,但我可以手动通过Google云端硬盘.


细节:

Bob(Bob@gmail.com)已经在他的驱动器上与Alice共享了一个目录(Alice@gmail.com).共享目录中是一个电子表格,用于从电子表格的内容生成发票.Alice使用电子表格(她具有编辑权限)并在电子表格上调用"生成>发票"菜单操作来创建发票.由于她调用了该函数,因此该文件是以Alice作为所有者创建的,但Bob希望成为所有发票的所有者.Bob已经尝试在创建文档后立即使用Google App Script设置文档的所有者,但它返回上面记录的错误.


电子表格内容:

 |     A      |     B     |
1| First Name | Last Name |
2| John       | Doe       |
Run Code Online (Sandbox Code Playgroud)

Google App脚本:

/**
 * Adds a menu-item to allow the generation of documents
 *
 * @param {Object} e The event parameter for a simple onOpen trigger.
 */
function onOpen(e) {
  var menuitems = [];
  menuitems.push({
    name: "Invoice",
    functionName: "createInvoice"
  });
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  ss.addMenu("Generate", menuitems);
} …
Run Code Online (Sandbox Code Playgroud)

google-sheets google-apps-script google-drive-api

10
推荐指数
1
解决办法
1224
查看次数