首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用UrlFetchApp的带有XML有效负载的HTTP请求

使用UrlFetchApp的带有XML有效负载的HTTP请求
EN

Stack Overflow用户
提问于 2019-07-30 01:25:18
回答 1查看 891关注 0票数 1

是否有一种方法可以使用Google脚本URLFetchApp提交XML有效负载?

我已经尝试将XML文档添加到有效负载中。

代码语言:javascript
运行
复制
var url = "https://stackoverflow.com"; //not real
var xml = ///some xml

var params = {'content-type': 'application/xml',
              'method': 'post',
              'payload': xml};

var response = UrlFetchApp.fetch(url, params);

我期待请求被提交,但它在"fetch“中出错。

我收到的错误是:

提供无效值的属性:有效载荷(第73行,文件"Code")“。

EN

回答 1

Stack Overflow用户

发布于 2019-07-30 02:10:19

问题

您正在向fetch()方法调用传递一个无效的第二个参数。

溶液

您可以在配置对象中传递一组封闭的可接受参数。请确保参数的名称与引用中的名称完全相同(见下文)。在您的示例中,content-type应该重命名为contentType (当前,您的请求以application/x-www-form-urlencoded的形式发送您的XML )。

考虑使用muteHttpExceptions设置为true来简化将来的调试过程。

更新

经过更彻底的调查后,您所遇到的错误很可能与将解析的XML文档(例如通过XmlService创建)传递给payload有关(尽管前面的问题仍然存在),如果您正在这样做(在此情况下,错误将始终重复)。请注意,payload可以接受Stringbyte[]Blob实例或Object (在contentType参数上有所不同)。

Modification

根据Tanaike的评论和建议,如果您确实试图将一个Document实例传递给payload,那么这个问题将通过准备XML来修正(注意,这些操作不会改变xml值),例如:

  1. XmlService.getPrettyFormat().format(XmlService.parse(xml))
  2. XmlService.getRawFormat().format(xml) (如果XML已经被解析);

有用链接

  1. fetch()方法参考(https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app#fetch(String,Object%29)
  2. XmlService参考文献
  3. getRawFormat()方法参考文献 (以防万一);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57263184

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档