使用Apps脚本从Google云端硬盘将图像插入Google表格

时间:2018-09-24 21:25:02

标签: google-apps-script google-sheets google-form

我一直在尝试df1 date volume_step_0 volume_step_1 0 2018-01-01 100 NaN 1 2018-01-02 101 NaN 2 2018-01-03 105 70.230 3 2018-01-04 123 66.342 4 2018-01-05 121 59.940 使用Apps Script将上传到驱动器(通过使用Google表单)上传到我的Google工作表的图像添加到我的Google工作表中,但是该操作不起作用并且我没有知道为什么,这是我的以下代码:

9 days

我什至尝试使的共享和访问权限尽可能开放,但我不断收到此错误消息:

  

“很抱歉,发生服务器错误。请稍候,然后重试。”

我发现错误消息模棱两可,这使我陷入困境。通常,该消息使我对哪里出错了很清楚。

我相信我的代码是正确的,并且在我的研究过程中,我没有发现确定的理由不可行。有人知道我要去哪里错吗?

一个解决方案会很棒,但最好是对我的代码进行评论,以便我可以学习:)

1 个答案:

答案 0 :(得分:0)

脚本问题:

  1. 您永远不会绑定到特定文件,因此要使用同一文件,您每次都必须重新初始化迭代器。
  2. 在将其用作图像之前,您无需验证其模仿类型

解决这些问题的示例:

function addFolderPNGs_(sheet, folderId) {
  const folder = folderId ? DriveApp.getFolderById(folderId) : DriveApp.getRootFolder(); // scope only to the root or given folder.
  const imgs = folder.getFilesByType(MimeType.PNG);
  var targetRow = sheet.getLastRow();
  while (imgs.hasNext()) {
    var img = imgs.next();
    Logger.log(img.getName())
    sheet.insertImage(img.getBlob(), 1, ++targetRow);
  }
}

参考