我想从另一个文档生成的BLOB在Google云端硬盘中创建一个文档。 我试过这个简单的例子:
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");
此脚本创建一个文档,但我无法打开它(当我尝试打开文档时它会显示“正在加载,请等待”,它永远不会打开。
为什么这个脚本不起作用?
答案 0 :(得分:0)
不确定(正如Corey已经说过的)你想要做什么,但是当你有一个来自文档的blob(在这种情况下意味着一个Google文档)时你只能(至少我现在在考虑) )使用DocsList从该blob创建“新”的东西......它不是Google文档而是pdf文件!
如果您想获得doc的副本,只需使用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
}
答案 1 :(得分:0)
您需要设置文件的mime类型,以便Google知道如何显示/打开它。