在Google Apps脚本中使用JSONP

时间:2015-01-22 15:16:08

标签: json google-apps-script jsonp

我想在我的Google Apps脚本中使用以下网址: http://a0.awsstatic.com/pricing/1/emr/pricing-mapr.min.js

使用典型的response = UrlFetchApp.fetch(url).getContentText()确实不起作用,它只返回callback()所包围的JSON。有没有办法使用Google Apps脚本使用JSONP?

代码:

function myFunction() {
  getEmrPricingData_();

}

/*
 * Get EMR Prices
 *
 */
function getEmrPricingData_() {
  var emr_url = "http://a0.awsstatic.com/pricing/1/emr/pricing-mapr.min.js"
  var response = UrlFetchApp.fetch(emr_url).getContentText();
  Logger.log(response);
}

1 个答案:

答案 0 :(得分:2)

您需要在代码中定义函数callback(),并使用eval()JSONP响应来执行该函数。例如,为了处理我的项目上的JSONP响应,我创建了这个函数:

function callback(data){
    return data;
}

并在我的请求函数中:

var result = eval(UrlFetchApp.fetch(url + uri, options).getContentText());