繁体   English   中英

使用 google 脚本将电子表格转为 xml 文档时,google 脚本将成品发送到哪里?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM