首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >谷歌应用脚本- UrlFetchApp.Fetch无法发布

谷歌应用脚本- UrlFetchApp.Fetch无法发布
EN

Stack Overflow用户
提问于 2021-02-17 03:45:29
回答 2查看 49关注 0票数 1

我尝试让GAS触发对Adverity Datatap管理API的外部POST请求以触发fetch (https://help.adverity.com/hc/en-us/articles/360009502839-Datastreams-Triggering-a-Fetch),但是,我收到的响应表明正在发送GET请求而不是POST请求。在下面的代码中有没有什么特别的地方呢?

代码语言:javascript
复制
function triggerFetch() {
  var myURL = 'https://YOUR_STACK.datatap.adverity.com/api/datastreams/684/fetch'
  var options, thisDate, headers, data;

  thisDate = Utilities.formatDate(new Date(), "EST-5", "yyyy-MM-dd") + 'T00:00:00Z';
  headers = {
    'Authorization':'Token XXXXXXXXXXXXXXXXXXXXXXXXXX'
  };
  data = {
    'start':thisDate
    ,'end':thisDate.replace('T00','T12')
  }
  options = {
    method:'POST'
    ,muteHttpExceptions: true
    ,headers:headers
    ,'Content-Type':'application/json'
    ,payload:JSON.stringify(data)
    }
  var response = UrlFetchApp.fetch(myURL,options);
  Logger.log(response);
}

编辑:对于其他上下文,这是postman的工作cURL输出

代码语言:javascript
复制
curl --location --request POST 'https://YOUR_STACK.datatap.adverity.com/api/datastreams/684/fetch/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token XXXXXXXXXXXXXXXXXXXXXXXXXX' \
--data-raw '{
    "start": "2021-02-16T00:00:00Z",
    "end": "2021-02-16T12:00:00Z"
}'
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-17 06:08:43

我能够弄清楚这一点,并发布了一个答案,以防它与其他任何人相关。datatap API文档指定URL应该以"/“结尾。如果没有最后一个字符,将发生重定向,并且http方法将重置为GET而不是POST。

票数 0
EN

Stack Overflow用户

发布于 2021-02-17 05:37:34

您可以尝试使用“”(双引号)而不是‘’(单引号)来设置包含字符串的选项。它应该看起来像这样:

代码语言:javascript
复制
  options = {
    "method" :"POST"
    ,"muteHttpExceptions": true
    ,"headers": headers
    ,"contentType":"application/json"
    ,"payload":JSON.stringify(data)
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66231155

复制
相关文章

相似问题

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