繁体   English   中英

无法构建脚本来查找 Google 的 API 中的地点并返回相关数据

[英]Having trouble building a Script to look up Places in Google's API and return relevant data

我正在为我在 Google 表格中的业务列表填写数据,包括地址、url、电话号码等。

我一直在这个网站上和其他人查看脚本来调用 Google Places API。 我已经弄清楚(我认为)我需要先获取 Place_ID,然后我可以再次调用 API 以获取所有详细信息。 我已经复制并粘贴了这个论坛上另一个答案的脚本,但它挂在第 8 行。

  return placeId.candidates[0].place_id;

在这一行中,我复制的代码似乎引用了“候选人”,我不知道这是什么。

我希望将 Place_id 写入具有其他已知数据的行中的单元格。 例如:A2:T2 是所有已知数据。 在 U2 中,我放置=locid(G2)其中 G2 是完整地址。 我希望(我认为)U2 获取 place_id,然后获取后续列以接收其他请求的数据。

function locId(text) {
  var API_KEY = 'AIzaSyDAI35g3ocior056QvNrjgY_lLs02Jkyg4';
  var baseUrl = 'https://maps.googleapis.com/maps/api/place/findplacefromtext/json';
  var queryUrl = baseUrl + '?input=' + text + '&inputtype=textquery&key=' + API_KEY;
  var response = UrlFetchApp.fetch(queryUrl);
  var json = response.getContentText();
  var placeId = JSON.parse(json);
  return placeId.candidates[0].place_id;
  Logger.log(placeId)
}


function GET_DETAILS(id) {
  var API_KEY = 'AIzaSyDAI35g3ocior056QvNrjgY_lLs02Jkyg4';
  var fields = 'name,rating,formatted_phone_number,formatted_address,photo';
  var baseUrl = 'https://maps.googleapis.com/maps/api/place/details/json?placeid=';
  var queryUrl = baseUrl + id + '&fields=' + fields + '&key='+ API_KEY;

  if (id == '') {
    return 'Give me a Google Places URL...';
  }

  var response = UrlFetchApp.fetch(queryUrl);
  var json = response.getContentText();
  var place = JSON.parse(json).result;

  return [[ place.name,
            place.formatted_phone_number,
            place.rating,
            place.formatted_address,
           place.photo
          ]];
}

我得到的错误是:

TypeError:无法从未定义中读取属性“place_id”。 (第 8 行)。

我假设这里的undefined是“候选人”

我不确定应该如何构造这段代码来实现我正在寻找的东西。 我敢肯定这很简单,作为一个完全的黑客新手,我对我正在看的东西只有一点了解。 感谢您帮助我了解其工作原理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM