
[英]Building script code to get data from Google Places API back to Google Sheets
[英]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.