【发布时间】:2022-11-27 08:32:55
【问题描述】:
我正在尝试从使用 Google Maps API 创建的 XML 中提取“formatted_address”。我无法通过代码的 XML 部分。我收到错误“异常:错误请求:http://0(第 176 行)”。有什么我想念的吗?我该如何修改这个?任何指导表示赞赏。 第 176 行是“var extractXml = UrlFetchApp.fetch(addUrl);” 这个想法是查找一个“草率”的地址并在 Google 表格的另一个单元格中返回一个 Google 标准化版本。 片段是我粘贴 URL 时在浏览器中看到的 XML。 “格式化地址”部分是我要返回的内容。
function addressFormat() {
var ss = SpreadsheetApp.getActive();
var sss = ss.getSheetByName("format");
var addr = sss.getRange(1,1,).getValue();
var apiKey = "API Key Here";
var addUrl = "https://maps.googleapis.com/maps/api/geocode/xml?address=" & addr & "&key=" & apiKey;
var extractXml = UrlFetchApp.fetch(addUrl);
var contentsXml = extractXml.getContentText;
var xmlAdd = XmlService.parse(contentsXml);
var response = xmlAdd.getRootElement();
var records = response.getChild('GeocodeResponse');
var recordList = records.getChild('result');
var formattedAddd = recordList('formatted_address')
return formattedAddd.getValue;
}
【问题讨论】:
-
您是否正确编码了 URL?
-
查找有关错误的信息。有些东西建议不正确的编码。我仍然不确定如何更改或检查它是什么。
-
我想我现在看到了这个问题。当通过粘贴到浏览器中手动执行时,它确实会自动编码在搜索栏中。我可能需要在实际的 Google 工作表单元格中将其转换为完整的 URL,然后使用它而不是在 Apps 脚本中构建它。
标签: google-maps google-apps-script google-sheets xml-parsing