我是一个初学者,我正在创建一个函数来列出我的产品从一个api。
产品插入工作正常,但当安装GET时,我总是得到这样的消息:
异常错误:UrlFetchApp时的参数无效。
在api文档中,他们要求我使用以下url:
curl -X GET "https://bling.com.br/Api/v2/produtos/json/"
-G
-d "apikey={apikey}"
但我不知道该怎么做。
在插入中,只有简单的URL起作用...(const url = 'https://bling.com.br/Api/v2/produto/json/?apikey=MyKeyHere';
)
如果你能给予我一些提示,那就太好了。
function listaproduto() {
const url = 'curl -X GET "https://bling.com.br/Api/v2/produtos/json/" -G -d apikey=IPutTheKeyHere';
const xml = {
xml: '<?xml version="1.0" encoding="UTF-8"?><produto><codigo></codigo><descricao></descricao><tipo></tipo><situacao>Ativo</situacao></produto>'
};
const options = {
method: 'GET',
followRedirects: true,
muteHttpExceptions: true,
payload: xml,
};
const response = UrlFetchApp.fetch(url, options);
Logger.log(response.getContentText());
}
1条答案
按热度按时间eoxn13cs1#
当您使用UrlFetchApp类别时,并不是像在命令列中一样执行命令,而是建立具有信息片段的对象,这些信息片段共同组成您在命令列中执行的相同要求。
关于这个类的更多文档可以在https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app这个页面上找到,并带有一些例子。
在代码示例中,您输入了整个命令作为UrlFetchApp应获取的URL。相反,您需要单独输入URL,就像您在示例中所做的那样。
curl和UrlFetchApp是不同的解决方案,因此它们可能无法实现相同的结果。
method: 'GET'
相同。*-d中的数据被添加到
payload
中。我建议您查看文档,并调整您的命令当前的实现与UrlFetchApp文档.它不是很清楚如何您访问的URL需要接收XML数据,你会发现如何上传数据作为一个二进制文件的信息,关于如何添加XML数据作为请求有效负载的细节,你可以检查这个其他问题:HTTP request with XML payload using UrlFetchApp其中@Tanaike发表了评论并提供了答案。