【发布时间】:2022-12-08 02:33:23
【问题描述】:
我在谷歌上找到一个 ImportJson 是这样的:
function IMPORTJSON(json, xpath) {
try{
// /rates/EUR
var res = UrlFetchApp.fetch(url);
var content = res.getContentText();
var json = JSON.parse(content);
var patharray = xpath.split("/");
//Logger.log(patharray);
for(var i=0;i\<patharray.length;i++){
json = json\[patharray\[i\]\];
}
//Logger.log(typeof(json));
if(typeof(json) === "undefined"){
return "Node Not Available";
} else if(typeof(json) === "object"){
var tempArr = \[\];
for(var obj in json){
tempArr.push([obj,json[obj]]);
}
return tempArr;
} else if(typeof(json) !== "object") {
return json;
}
}
catch(err){
return "Error getting data";
}
}
我有一种方法可以将跟踪号码的状态加载为 UPS、Fedex ...
=importjson(join("","http://shipit-api.herokuapp.com/api/carriers/",X4,"/",W4),"activities/0/details")
X4 是运营商名称“usps、fedex、ups...”
W4 包含跟踪号码。
有什么办法可以让我只加载状态 1 次并对每个包含跟踪号码的单元格使用结果吗?
因为现在有一段时间我的工作表出现“获取数据时出错”并且直到第二天代码将再次运行
我尝试使用 Google workspace 帐户来运行它但仍然运行了一天(当我的数据有 1000 行有跟踪编号时)它再次显示“获取数据时出错”
【问题讨论】:
-
你试过ImportJSON()吗?
标签: google-apps-script google-sheets urlfetch custom-function