如何将Google Apps Script生成的XML Blob直接下载到本地?
直接下载XML到本地的最简方案
因为Google Apps Script的服务器端代码无法直接触发本地下载,最简方法是通过HtmlService生成一个带下载按钮的网页,点击按钮后获取XML Blob并触发浏览器下载。
完整代码替换原脚本
// 生成XML Blob的核心函数 function generateXMLBlob() { var Origine = "Example"; var xml = '<?xml version="1.0"?>\n'; xml += '<root>\n'; xml += ' <element>' + Origine + '</element>\n'; xml += '</root>\n'; return Utilities.newBlob(xml, 'application/xml', 'my-xml.xml'); } // 返回带下载按钮的网页 function getDownloadPage() { return HtmlService.createHtmlOutput(` <button onclick="downloadXML()">下载XML文件</button> <script> async function downloadXML() { // 调用服务器端函数获取Blob数据 const blob = await google.script.run.withSuccessHandler(data => data).generateXMLBlob(); // 创建下载链接并触发点击 const url = window.URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'my-xml.xml'; document.body.appendChild(a); a.click(); // 清理资源 window.URL.revokeObjectURL(url); document.body.removeChild(a); } </script> `); }
操作步骤
- 打开你的Google Apps Script编辑器,替换原代码为上面的内容
- 点击菜单栏的部署 > 新建部署
- 在部署设置中:
- 类型选择“Web应用”
- 执行权限选“我自己”
- 访问权限根据需求选:如果仅自己用,选“仅限我自己”;如果要分享给他人,选“任何人,甚至匿名”
- 点击“部署”,复制生成的Web应用URL
- 在浏览器中打开这个URL,点击页面上的「下载XML文件」按钮,就能直接把XML下载到本地了
内容的提问来源于stack exchange,提问作者Robin Erard
相关产品推荐
相关产品推荐

