Javascript 执行Mixpanel'时输入结束错误;使用应用程序脚本的带有HTTP API的JQL脚本

Javascript 执行Mixpanel'时输入结束错误;使用应用程序脚本的带有HTTP API的JQL脚本,javascript,mixpanel,jql,Javascript,Mixpanel,Jql,我尝试使用Apps脚本的UrlFetchApp从我的Mixpanel项目中获取数据。它涉及在HTTP POST请求主体内发送JQL脚本。以下是JQL脚本: var jqlScript = 'function main() { return Events(params).filter(function(event){return event.name == \"purchase\";}).reduce(mixpanel.reducer.count());}'; var params = '{\"

我尝试使用Apps脚本的UrlFetchApp从我的Mixpanel项目中获取数据。它涉及在HTTP POST请求主体内发送JQL脚本。以下是JQL脚本:

var jqlScript = 'function main() {  return Events(params).filter(function(event){return event.name == \"purchase\";}).reduce(mixpanel.reducer.count());}';
var params = '{\"from_date\":\"' + getDateString(aWeekAgo) + '\",\"to_date\":\"' + getDateString(yesterday) + '\"}';
var payload = {
   script: jqlScript,
   params: params
};

var options = {
   'method': 'post',
   'headers': {
   'Authorization' : 'Basic #############' // my API secret
   },
   'payload': payload
};

var data = UrlFetchApp.fetch('https://mixpanel.com/api/2.0/jql/', options);
但我在执行记录中不断发现这个错误:

请求返回的代码400失败。截断的服务器响应:{“请求”:“/api/2.0/jql/”,“错误”:“验证脚本时出错:未捕获异常语法错误:输入意外结束\n函数main(){return E..(使用muteHttpExceptions选项检查完整响应)(第22行,文件“code”)”


我仔细检查了脚本,并确保没有丢失“}”或类似的东西,正如本网站上的其他问题所建议的那样。我被困在这里!

我认为应用程序脚本转义出了问题,因为我不知道为什么会这样,但我找到了一个功能解决方案:

如果从jql/javascript字符串中删除所有分号,它将起作用

var jqlScript = 'function main() {  return Events(params).filter(function(event){return event.name == "purchase\"}).reduce(mixpanel.reducer.count())}';