如何在 Google Apps 脚本(服务器端 Google Docs 自动化)中使用 Jsonix?如果我不能,我可以在 GAS 中使用什么替代 Jsonix 从 XSD 生成 Javascript 映射,然后将 JS 对象序列化为 XML 以提交给 REST API,然后将响应反序列化回 JS 对象?
我使用 Jsonix 将 REST API 从其 XSD 文件编译为 JSON 映射。我在命令行 Node.js 中测试了一个 Javascript,它从内联 JSON 创建一个 JS 对象,然后在 Jsonix.Context 下编组它以提交给 REST API,然后解组响应。
然后我用我的脚本创建了一个 Google Apps 脚本项目。我使用 Jsonix.js 脚本(作为 Jsonix.gs)创建了另一个 GAS 项目,然后使用映射脚本(作为 API.gs)创建了另一个 GAS 项目。我使用 Jsonix 和 API 库的项目密钥配置了我的主脚本的项目资源。我可以执行我的脚本(验证是否使用了库资源),但Jsonix.createDocument()
调用时它会失败。我在 Jsonix 库脚本的开头插入_jsonix_factory = function(_jsonix_xmldom, _jsonix_xmlhttprequest, _jsonix_fs)
了Logger.log("_jsonix_xmldom: " + _jsonix_xmldom)
一行记录_jsonix_xmldom: undefined
,这就是为什么Jsonix.createDocument()
抛出错误而不是返回文档的原因。
我可以在 GAS 环境中使用 Google Apps 脚本服务 XmlService 或其他一些服务,而不是 Jsonix 默认期望的 _jsonix_xmldom 吗?或者我可以包含一些功能等效的库作为库资源吗?或者以其他方式在 GAS 中向 Jsonix 提供该功能?
我希望 Jsonix 尝试使用未定义的_jsonix_xmlhttprequest
and_jsonix_fs
值也会导致类似的错误。我在 Jsonix.js (.gs) 源代码
// REWORK
// Node.js
中看到createDocument()
声明和其他地方的两行。也许我报告的这个案例正在积极开发中?
感谢您的见解。