簡體   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