我正在使用此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以共享代码。
目标是仅返回昨天的回复并将其附加到电子表格中。
任何包含日期字符串的查询字符串也会发生这种情况。有什么想法我可能做错了以及如何解决它?
答案 0 :(得分:0)
所以问题是+
在到达终点时被替换为空格。所以它没有通过验证。您需要在将URL参数发送给我们之前对其进行编码。所以在这种情况下,“+”将是“%2B”。
显然,Google应用脚本就像是javascript,您可以使用encodeURIComponent('start_modified_at=2016-04-01T00:00:00+00:00')
来解决它。
我们肯定需要努力为您提供无效网址参数的更好的错误消息!试试看,如果你仍然遇到问题,请告诉我们。