如何通过谷歌应用引擎写入谷歌驱动器上的现有文件?

时间:2013-10-24 21:07:21

标签: google-apps-script

我正在尝试创建一个带有额外菜单的Google电子表格。此菜单将触发一个动作,该动作将创建内容的自定义字符串。此字符串需要写入已存储在谷歌驱动器上的现有文本文件。

在搜索可能的解决方案时,我调查了驱动器应用文件类和 blob 类,但我无法理解如何做这项工作。

我能够检索现有文件(纯文本btw)并显示其内容:

    var file = DriveApp.getFileById("EXISTING_FILE_ID");
    var fileContent = file.getBlob().getDataAsString();

但我无法找到如何覆盖现有文件。创建新文件不是一个选项,我需要坚持使用特定的ID。电子表格和书面文件都将由我在我的驱动器中拥有,并公开共享。其他用户将修改电子表格,因此需要更新文件。

后备计划 如果有替代方法可以通过Dropbox(而不是id)之类的路径访问此文件,则可以删除并重新创建文件。这种访问方式如何?

2 个答案:

答案 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)