使用 UrlFetchApp.fetch(url) 的基本 API 调用上的参数无效



我是Google Apps Scripts的新手,我一直在尝试对URL进行简单的Get调用。 我从浏览器拨打此电话:https://accounting.sageone.co.za/api/1.1.1/Supplier/Get?apikey={4CFEEFE1-CE04-425F-82C3-DCB179C817D5}&companyid=164740,并获得我正在寻找的响应。我现在尝试使用以下代码从Google Apps Scripts进行调用:

function myFunction() {
var url = 'https://accounting.sageone.co.za/api/1.1.1/Supplier/Get?apikey={4CFEEFE1-CE04-425F-82C3-DCB179C817D5}&companyid=164740
var response = UrlFetchApp.fetch(url);
Logger.log(response);
}'

我得到一个回复说"消息详细信息无效参数:https://accounting.sageone.co.za/api/1.1.1/Supplier/Get?apikey={4CFEEFE1-CE04-425F-82C3-DCB179C817D5}&companyid=164740(第 4 行,文件"代码")'

我尝试了一大堆排列,但没有运气......

使用 UrlFetchApp 时,您需要将网址参数作为请求参数的一部分输入,而不是在网址本身中输入。对于GET请求,这些参数直接作为参数的一部分,对于POST请求,参数将是有效负载对象的一部分。参考文档

这是一个修改后的函数:

function myFunction() {
  var url = 'https://accounting.sageone.co.za/api/1.1.1/Supplier/Get'  
  var params = {
    "method": 'GET',
    "apikey": "{4CFEEFE1-CE04-425F-82C3-DCB179C817D5}",
    "companyid": "164740"
  }
  var response = UrlFetchApp.fetch(url, params);
  Logger.log(response)
}

注意:这将更正您的方法,但是,服务器仍需要进一步的身份验证。如果您遇到问题,请同时询问特定于该问题的其他问题。

最新更新