start_created_at无法使用/ collectors / {id} / answers

时间:2016-04-05 17:23:45

标签: surveymonkey

我正在使用此Google应用脚本来查询Survey Monkey结果:

function surveyMonkey() {
  var token = "xxx";
  var survey = "xxx";
  var options = {"headers": {"authorization": "bearer "+token}};
  var api_key = "xxx";
  var url = 'https://api.surveymonkey.net/v3/';
  var responseURL = 'collectors/xxx/responses?api_key='+api_key
  +'&sort_by=date_modified&sort_order=DESC'
  +'&start_modified_at=2016-04-01T00:00:00+00:00'
  var responses = UrlFetchApp.fetch(url+responseURL, options);
  var responseData = JSON.parse(responses.getContentText());
  Logger.log(responseData);
}

我正在尝试调用响应收集器“/ collectors / {id} / responses”。当我为start_modified_at排除查询字符串时,我将获得有效的JSON响应。当我尝试包含start_modified_at时,我不会得到回复。

我也用“/ surveys / {id} / answers”尝试了这个,我得到了相同的结果。它在没有日期的情况下工作,并且在包含日期时不起作用。我删除了自己的信息并将其替换为xxx以共享代码。

目标是仅返回昨天的回复并将其附加到电子表格中。

任何包含日期字符串的查询字符串也会发生这种情况。有什么想法我可能做错了以及如何解决它?

1 个答案:

答案 0 :(得分:0)

所以问题是+在到达终点时被替换为空格。所以它没有通过验证。您需要在将URL参数发送给我们之前对其进行编码。所以在这种情况下,“+”将是“%2B”。

显然,Google应用脚本就像是javascript,您可以使用encodeURIComponent('start_modified_at=2016-04-01T00:00:00+00:00')来解决它。

我们肯定需要努力为您提供无效网址参数的更好的错误消息!试试看,如果你仍然遇到问题,请告诉我们。