
[英]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.