Google Apps Script报错:非法XML语法(第7行),求排查原因
排查Google Apps Script "Illegally formed XML syntax" 报错问题
嘿,我来帮你搞定这个报错!你的问题根源很明确,咱们一步步拆解:
首先,触发"Illegally formed XML syntax"错误的直接原因是代码里的setTitle(<Your Title>)这一行:
<Your Title>是书籍里的示例占位符,但你没有把它用字符串引号包裹起来。setTitle()方法需要接收一个字符串参数,未加引号的<>会被脚本解析器当成非法的XML标签,直接导致语法报错。- 另外要提醒你:Google早在2014年就弃用了
UiApp服务,现在它属于过时技术,在新的Google Workspace环境中可能出现兼容性问题,官方推荐用HtmlService来创建自定义UI。
临时修复的旧版UiApp代码(仅用于测试)
如果你只是想先验证功能、解决当前报错,可以把代码改成这样:
function helloWorldUiApp() { var ss = SpreadsheetApp.getActiveSpreadsheet(); // 把占位符替换成带引号的实际标题字符串 var app = UiApp.createApplication().setTitle('我的第一个UI应用'); app.add(app.createLabel('Hello World')); //TODO add your code here ss.show(app); }
推荐的新版HtmlService替代代码
更稳妥的方式是使用官方支持的HtmlService,功能更灵活也更稳定,示例代码如下:
function helloWorldHtmlService() { var htmlOutput = HtmlService.createHtmlOutput('<h1>Hello World</h1>') .setTitle('我的第一个UI应用') .setWidth(300) .setHeight(200); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Hello World Dialog'); }
这个方案还支持自定义HTML、CSS和JS,能实现更丰富的界面效果。
内容的提问来源于stack exchange,提问作者user1955215
相关产品推荐
相关产品推荐

