Google sheets 谷歌表单上的UPS跟踪返回的导入内容为空

Google sheets 谷歌表单上的UPS跟踪返回的导入内容为空,google-sheets,Google Sheets,返回-内容为空 =Index(IMPORTXML("https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums="&A2,"//*[@id='tt_spStatus']"),1) 我尝试过的所有不同的变化都没有产生任何反应。英国的UPS追踪。我尝试过不同的XPath,但没有效果 这会返回内容,但我什么都不懂 =Index(IMPORTXML("https://www.ups.com/tracking/trackin

返回-内容为空

=Index(IMPORTXML("https://wwwapps.ups.com/WebTracking/track?track=yes&trackNums="&A2,"//*[@id='tt_spStatus']"),1)
我尝试过的所有不同的变化都没有产生任何反应。英国的UPS追踪。我尝试过不同的XPath,但没有效果

这会返回内容,但我什么都不懂

=Index(IMPORTXML("https://www.ups.com/tracking/tracking.cgi?loc=en_GB&tracknum="&A2&"&requester=WT/trackdetails","html"),1)

在脚本编辑器中添加此函数:

function IMPORTJSON(url,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跟踪页面:

=HYPERLINK("https://www.ups.com/track?loc=en_US&tracknum="&A1&"&requester=WT/trackdetails"",A1:A)")

在脚本编辑器中添加此函数:

function IMPORTJSON(url,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跟踪页面:

=HYPERLINK("https://www.ups.com/track?loc=en_US&tracknum="&A1&"&requester=WT/trackdetails"",A1:A)")

我试过了,它与USPS合作。但是,对于UPS,json返回为: {“错误”:“无效的访问许可证号码”}


我不知道除了使用需要访问许可证号的UPS API之外,是否还有其他解决方案。

我尝试过,它与USPS一起工作。但是,对于UPS,json返回为: {“error”:“访问许可证号码无效”}


我不知道除了使用需要访问许可证号的UPS API之外,是否还有其他解决方案。

您可以共享一份工作表吗?这是一份带有单个跟踪号的空白工作表……您可以共享一份工作表吗?这是一份带有单个跟踪号的空白工作表……这太神奇了,我无法理解Json输出,但提供的函数非常有用。非常感谢你。在生成链接时,我使用此选项使其更易于阅读<代码>={“跟踪链接”;数组公式https://www.ups.com/track?loc=en_GB&tracknum=“&A2:AH&“&requester=WT/trackdetails”),A2:A))},并添加了导入Json公式
=IF(ISBLANK($A2),导入Json(join(“,”shipit api.herokuapp.com/api/carriers/ups/…)
忽略空白并提高大工作表的速度。此外,我还尝试过此操作。
={“当前状态”;ARRAYFORMULA(IF(ISBLANK($A2:a)、IMPORTJSON(join(“”,)http://shipit-api.herokuapp.com/api/carriers/ups/“,$A2:A),“活动/0/详细信息”)}
将列作为数组处理。但它返回所有空响应。这可能与事实
有关。”http://shipit-api.herokuapp.com/api/carriers/ups/",$A2:A
只能接受一次输入。我很高兴你提到ISBLANK,我在发布后为它添加了一个检查,但从未更新。它真的清理了工作表。这太神奇了,我无法理解Json输出,但提供的函数非常有用。非常感谢你。在生成链接时,我使用它让它更方便用户y阅读。
={“跟踪链接”;数组公式(如果为空(A2:A),,(超链接https://www.ups.com/track?loc=en_GB&tracknum=“&A2:AH&“&requester=WT/trackdetails”),A2:A))}
,并添加了导入Json公式
=IF(ISBLANK($A2),导入Json(join(“,”shipit api.herokuapp.com/api/carriers/ups/…)
忽略空白并提高大张纸的速度。此外,我尝试了这个方法。
={“当前状态”;数组形式(IF(ISBLANK($A2:a)),IMPORTJSON(join(“,”http://shipit-api.herokuapp.com/api/carriers/ups/“,$A2:A),“活动/0/详细信息”)}
将列作为数组处理。但它返回所有空响应。这可能与事实
有关。”http://shipit-api.herokuapp.com/api/carriers/ups/“,$A2:A
只能接受一次输入。我很高兴你提到了ISBLANK,我在发布后添加了一个检查,但从未更新。它确实可以清理工作表。