我正在尝试创建一个带有额外菜单的Google电子表格。此菜单将触发一个动作,该动作将创建内容的自定义字符串。此字符串需要写入已存储在谷歌驱动器上的现有文本文件。
在搜索可能的解决方案时,我调查了驱动器应用,文件类和 blob 类,但我无法理解如何做这项工作。
我能够检索现有文件(纯文本btw)并显示其内容:
var file = DriveApp.getFileById("EXISTING_FILE_ID");
var fileContent = file.getBlob().getDataAsString();
但我无法找到如何覆盖现有文件。创建新文件不是一个选项,我需要坚持使用特定的ID。电子表格和书面文件都将由我在我的驱动器中拥有,并公开共享。其他用户将修改电子表格,因此需要更新文件。
后备计划 如果有替代方法可以通过Dropbox(而不是id)之类的路径访问此文件,则可以删除并重新创建文件。这种访问方式如何?
答案 0 :(得分:2)
你试过吗?
var file = DriveApp.getFileById("EXISTING_FILE_ID");
var fileContent = file.getBlob().getDataAsString();
DocsList.getFileById("FILE_YOU_WANT_TO_REPLACE").replace(fileContent);
如果我的答案适合您,请不要忘记点击我的答案旁边的绿色复选按钮。
答案 1 :(得分:-1)
新方法是:
DriveApp.getFileByID("fileId").setContent(content)