我正在努力从importxml到googlesheet获得任何结果。以前我得到的输出反映了距离,但是现在出现错误“导入的内容为空”。
=importxml("http://maps.googleapis.com/maps/api/directions/xml?origin=" & B9 & "&destination=" & D9 & "&sensor=false&alternatives=false","//leg/distance/value")/1000*0.621371
有人在这里知道解决方法吗?我也尝试过使用我的api密钥,并且遇到了类似的问题:
=IMPORTHTML("https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=bay+shore,ny&destinations=New+York+City,NY&key=XXXXXXX", "table",3)
非常感谢您的帮助。
答案 0 :(得分:0)
这只是初学者的尝试,因此欢迎进行改进,但是查看geocodezip发布的URL,您可以将该URL传递给UrlFetchApp.fetch
,并在响应的JSON.parse
上使用getContentText()
您可以在工作表中将其用作用户定义的功能,并使用Logger.log(GETDISTANCE());
通过控制台进行检查
function GETDISTANCE() {
var res= UrlFetchApp.fetch("https://maps.googleapis.com/maps/api/distancematrix/json?units=imperial&origins=bay+shore,ny&destinations=New+York+City,NY&key=");
var content = res.getContentText();
var json = JSON.parse(content);
return json.rows[0]["elements"][0]["distance"].text;
}
您希望将URL和位置部分移动到传递给该函数的参数中,以使其更加通用。
我通过检查如下所示的JSON结构,确定了用于提取里程文本的路径: