0

我想从另一个文档生成的 BLOB 在 Google Drive 中创建一个文档。我试过这个简单的例子:

  var doc = DocumentApp.openByUrl("https://docs.google.com/document/d/[My document]/edit");
  var docContentBlob = doc.getBlob();

  var newDocBlob = Utilities.newBlob(
    docContentBlob.getDataAsString(),
    "application/vnd.google-apps.document",
    "TEST DOC BLOB");

该脚本创建了一个文档,但我无法打开它(当我尝试打开文档时它显示“正在加载,请稍候”并且它永远不会打开。

为什么这个脚本不起作用?

4

2 回答 2

0

您需要设置文件的 MIME 类型,以便 Google 知道如何显示/打开它。

于 2014-01-15T14:07:57.603 回答
0

也不确定(正如 Corey 已经说过的那样)您要尝试做什么,但是当您有一个来自文档的 blob(在这种情况下是指 Google 文档)时,您只能(至少我现在正在考虑)使用 DocsList从那个blob中创建一些“新”的东西......它不会是一个谷歌文档,而是一个pdf文件!

如果您想获取文档的副本,只需使用 docsList 服务中的 makeCopy 即可。

这是一段代码来说明这两种可能性:

function myFunction() {
  var doc = DocumentApp.openByUrl("https://docs.google.com/document/d/[My document ID]/edit");
  var docContentBlob = doc.getBlob();
  var copyofDoc = DocsList.getFileById(doc.getId()).makeCopy('new copy of '+doc.getName());// this will create a copy (google doc format)
  var newDocfromBlob = DocsList.createFile(docContentBlob);// this will create a pdf version of your doc
}
于 2013-03-08T17:31:13.237 回答