[英]Google scripts creating xml document from spreadsheet issue with adding content to root element
[英]When using google scripts to turn a spreadsheet into an xml document, where does google scripts send the finished product?
使用 google 脚本将电子表格转为 xml 文档时,google 脚本将成品发送到哪里?
我一直在搜索XMLService文档页面,但在任何地方都找不到。
在示例代码中,它们显示:
var 文档 = XmlService.createDocument(root);
var xml = XmlService.getPrettyFormat().format(document);
记录器.log(xml);
似乎他们只是将整个 xml 文档打印到脚本日志中? 我试过了,看起来他们真的是这么做的。
我正在寻找一个 function,当它被调用时,它将在我的谷歌驱动器中创建一个名为“whatever.xml”的新文档,但它似乎不存在?
我错过了什么?
我看到ContentService 有一个文本 output 它将在运行脚本时将文件下载到您的计算机,但这是我需要的脚本
1)每晚自动运行
2)在线存储在共享驱动器中
而且我宁愿在脚本运行时不必手动重新上传文件,这样项目合作者就可以访问最终的 output (这是一个脚本,我将在每天午夜的计时器上运行。)(另外,如果我没有浏览器 window 在脚本运行时打开,它还会下载文件吗?)
您可以使用 DriveApp class 在您的驱动器中创建文件。
例如:
function createAndSaveXml() {
// Create xml element
var root = XmlService.createElement('threads');
// Get some data for example from your Gmail inbox
var threads = GmailApp.getInboxThreads();
for (var i = 0; i < threads.length; i++) {
var child = XmlService.createElement('thread')
.setAttribute('messageCount', threads[i].getMessageCount())
.setAttribute('isUnread', threads[i].isUnread())
.setText(threads[i].getFirstMessageSubject());
root.addContent(child);
}
// Create xml document
var document = XmlService.createDocument(root);
// Pretty print the xml document
var xml = XmlService.getPrettyFormat().format(document);
// Save it to Drive at the root folder
DriveApp.createFile('document.xml', xml);
}
您将在驱动器中看到一个名为“document.xml”的文件,其内容为 xml。
推荐阅读:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.