Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Api 用于装运包裹跟踪的导入XML google工作表_Api_Google Sheets_Google Sheets Importxml - Fatal编程技术网

Api 用于装运包裹跟踪的导入XML google工作表

Api 用于装运包裹跟踪的导入XML google工作表,api,google-sheets,google-sheets-importxml,Api,Google Sheets,Google Sheets Importxml,我想直接从谷歌表单跟踪联邦快递、DHL和UPS的发货状态。我正在使用importxml函数: =导入XML(“https://www.fedex.com/apps/fedextrack/?action=track&tracknumbers=“&C2&”&locale=en_US&cntry_code=US”,“//h1/div[@class=“redesignSnapshotVC snapshotController\u addr\u label dest”]/title”) 然而,它显示出错误

我想直接从谷歌表单跟踪联邦快递、DHL和UPS的发货状态。我正在使用importxml函数: =导入XML(“https://www.fedex.com/apps/fedextrack/?action=track&tracknumbers=“&C2&”&locale=en_US&cntry_code=US”,“//h1/div[@class=“redesignSnapshotVC snapshotController\u addr\u label dest”]/title”)

然而,它显示出错误。 正在为此附加“我的工作表”链接:

请告诉我最好的方法是什么。我来自非技术背景。
非常感谢你的帮助

常见问题。您正在尝试导入加载后生成的html。这意味着我们必须寻找您想要的数据是如何生成的

数据源 在检查该网站时,我发现它正在对URL
https://www.fedex.com/trackingCal/track
,它是通过一个长负载的POST来实现的。响应是JSON格式的。需要注意的是,这里有
scanEventList
条目

“扫描事件列表”:[{
“日期”:“2020-07-15”,
“时间”:“13:15:00”,
“gmtOffset”:“-07:00”,
“状态”:“交付异常”,
“状态CD”:“DE”,
“扫描地点”:“加利福尼亚州圣贝纳迪诺”,
“丑闻”:“要求未来交付”,
“scanDetailsHtml”:“,
“rtrnShprTrkNbr”:“,
“statusExceptionCode”:“17”,
“isClearanceDelay”:false,
“IsDeliver”:错误,
“IsDeleteException”:正确,
“isException”:正确
},
...
]
解决方案 首先,从GitHub获取脚本,并将其添加到工作表的脚本中(工具>脚本编辑器)。这不是最令人惊奇的事情,但它至少会让我们
ImportJSONViaPost()
获得我们想要的数据:

=INDEX(ImportJSONViaPost("https://www.fedex.com/trackingCal/track","data=%7B%22TrackPackagesRequest%22%3A%7B%22appType%22%3A%22WTRK%22%2C%22appDeviceType%22%3A%22DESKTOP%22%2C%22supportHTML%22%3Atrue%2C%22supportCurrentLocation%22%3Atrue%2C%22uniqueKey%22%3A%22%22%2C%22processingParameters%22%3A%7B%7D%2C%22trackingInfoList%22%3A%5B%7B%22trackNumberInfo%22%3A%7B%22trackingNumber%22%3A%22"&A2&"%22%2C%22trackingQualifier%22%3A%22%22%2C%22trackingCarrier%22%3A%22%22%7D%7D%5D%7D%7D&action=trackpackages&locale=en_US&version=1&format=json",,"/TrackPackagesResponse/packageList/scanEventList,/TrackPackagesResponse/packageList/trackingCarrierDesc","noHeaders"),1)
论据:

  • 追踪器的URL
  • 邮政有效载荷。A2单元保存您的追踪号码
  • 留空
  • 查询-让我们选择所需的数据。在本例中,我选择了运营商描述和整个
    scanEventList
    条目,但您也可以指定其中的特定元素
  • “noHeaders”仅指数据
  • 仅使用JSON导入就为
    scanEventList
    的每个元素提供了一个条目,但第一个是最新的,因此,我们使用
    INDEX
    检索第一个条目,它应该包含您需要的内容

    有关ImportJSON包的其他帮助,请参阅