Javascript Google Docs应用程序脚本-将文件base64数据作为doc/docx文件获取
如何获取doc/docx格式的活动文档文件数据? 我可以得到PDF格式的内容,没有任何问题。 我尝试了下面的应用程序脚本代码,但它没有返回doc/docx格式的base64字符串Javascript Google Docs应用程序脚本-将文件base64数据作为doc/docx文件获取,javascript,google-apps-script,google-docs,Javascript,Google Apps Script,Google Docs,如何获取doc/docx格式的活动文档文件数据? 我可以得到PDF格式的内容,没有任何问题。 我尝试了下面的应用程序脚本代码,但它没有返回doc/docx格式的base64字符串 var doc = DocumentApp.getActiveDocument(); function doPostRequest(){ var newblob = doc.getBlob(); newblob.setContentType("application/msword"
var doc = DocumentApp.getActiveDocument();
function doPostRequest(){
var newblob = doc.getBlob();
newblob.setContentType("application/msword");
newblob.setName("sample.doc");
var dataObj = {
date : new Date(),
subject : "sample file data",
comment : "this is a test comment",
attachment : newblob
};
var options = {
method : 'POST',
payload: dataObj
};
var response = UrlFetchApp.fetch('https://postman-echo.com/post', options);
console.log(response.getContentText());
return response.getContentText();
}
输出
尽管上面写着“sample.doc”,但当我从base64字符串复制粘贴并生成一个文件(使用C#)时,它以PDF文件的形式打开
如何将文件数据转换为doc/docx格式,并将文件数据保存为doc/docx文件?它不是被称为“sample.doc”吗,因为您调用
newblob.setName(“sample.doc”)代码>?我想象newblob.setName(“sample.flyingspaghettimonster”)
将返回一个名为“sample.flyingspaghettimonster”的文件。我不熟悉API,但声明:“设置此blob中字节的内容类型”,但没有提及任何转换。当使用getBlob()
直接从Google文档检索blob时,模拟类型将自动更改为application/pdf
。这似乎是当前的规范。因此,在本例中,需要将Google文档导出为DOCX格式。关于这一点,这些线程可能很有用。其中有这样的语句:“将此对象中的数据作为转换为指定内容类型的blob返回。”但也有这样的语句:“对于大多数blob,application/pdf是唯一有效的选项。”因此我不确定这是否适用于您的情况。我试过-getAs(“docx mime type”)和Utilities.neBlob(blob.getBytes(),“docx mime type”);功能也一样。生成所有文件后,所有文件都变成PDF格式。那么,目前是否无法转换为docx?