希望任何人都可以提供帮助。我在谷歌EAP上有一个Appmaker应用程序,它使用驱动器选择器小部件来获取文件,然后取消共享该文件。
预览效果很好,但是当我发布应用时,它会因某种原因而挂起。它被部署为以用户身份运行(因为我使用了驱动器选择器所需),而且我没有看到明显的安全问题,因为我已将自己列为管理员。
应用程序的客户端工作没有问题。然后它成功将文件ID发送到服务器脚本。服务器脚本能够记录文件ID。但是当我调用DriveApp时,它会挂起并超时(没有抛出特定错误 - "我们很抱歉,发生了服务器错误。请稍等一下再试一次。")。
它挂起的线是:
var file = DriveApp.getFilesByName('upcoming stuff092017').next();
但是,我也尝试过其他行,例如使用getFileById(''),createFile('''')等等。
不确定发生了什么 - 有人有想法吗?
更新 - 奇怪的是,问题似乎与DriveApp有关。 我使用GmailApp.sendEmail(''''''')在服务器脚本中添加了一行,并发送了电子邮件...然后,当脚本到达DriveApp命令时,它会挂起并再次失败。
答案 0 :(得分:1)
// this line works fine
var iterator = DriveApp.getFilesByName('test');
// App Script freezes both on 'hasNext' and 'next' method calls
if (iterator.hasNext()) {
iterator.next();
} else {
}
这是已知问题,已在此处报道:
https://issuetracker.google.com/issues/63946936
解决方法强>
// Server script usage
var result = Drive.Files.list({ q: 'title = "tmp.js"' });
console.log(result.items.length);
全面推进Drive API参考: