在 Google Apps 脚本中使用 JSONP
Consuming JSONP in Google Apps Script
我想在我的 Google Apps 脚本中使用以下 URL:
http://a0.awsstatic.com/pricing/1/emr/pricing-mapr.min.js
使用典型的 response = UrlFetchApp.fetch(url).getContentText()
并没有真正起作用,它只是 returns 被 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);
}
您需要在代码中定义函数 callback(),并在 JSONP 响应中定义 eval() 以执行该函数。例如,为了处理我的一个项目中的 JSONP 响应,我创建了这个函数:
function callback(data){
return data;
}
在我的请求函数中:
var result = eval(UrlFetchApp.fetch(url + uri, options).getContentText());
我想在我的 Google Apps 脚本中使用以下 URL:
http://a0.awsstatic.com/pricing/1/emr/pricing-mapr.min.js
使用典型的 response = UrlFetchApp.fetch(url).getContentText()
并没有真正起作用,它只是 returns 被 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);
}
您需要在代码中定义函数 callback(),并在 JSONP 响应中定义 eval() 以执行该函数。例如,为了处理我的一个项目中的 JSONP 响应,我创建了这个函数:
function callback(data){
return data;
}
在我的请求函数中:
var result = eval(UrlFetchApp.fetch(url + uri, options).getContentText());