Google脚本,使用urlFetchApp进行PUT请求,当服务器发送204无内容响应时,我无法获得响应代码

问题描述

对于我在Google表格中使用的私有服务器的GET和POST请求,执行类似的操作,然后得到正确的响应。我使用该响应来更新数据,并且同样重要的是,通过评估response.getResponeCode()来进行错误检查。

function postDataToServer(params){
  let myjdService = getService();
  let orgId = getorgIdForSelectedOrg();
  let link = https://GoodURLForPrivateDataIWorkWithALot/neededurlParameter/anotherNeededURLParameter;
  let options = {
    'method': 'put','payload': JSON.stringify(params),'headers': {
      'Accept': 'application/vnd.PRIVATE.v3+json','Content-Type': 'application/vnd.PRIVATE.v3+json','authorization': 'Bearer ' + myPrivateService.getAccesstoken()
    }
  };
  let response = UrlFetchApp.fetch(link,options);
  return response.getResponseCode();

对于我执行的所有GET和POST请求,都会得到响应。从该响应中,我可以解析一个响应代码但是对于我使用的特定服务器,当我使用PUT编辑记录时,成功的编辑将返回以下内容

204没有内容

此外,最后一行return response.getResponseCode()返回错误,表明响应未定义。

这是我用response做任何事情的错误

ReferenceError: response is not defined

PUT正在工作。我只知道这一点,因为1)当我检查是否使用服务器进行编辑时,它们是2)在Postman中测试PUT至少会显示“ 204 No Content”字样; 3)文档说的正是我所期望的

但是我仍然想在我的Google表格应用中找到如何评估这种无内容响应的方法,以进行正确的错误跟踪。至少以某种方式获取字符串“ 204”。有任何想法吗?我什至无法让Google表格说204。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)