【GAS】Google Map Places API Nearby Searchを実行しても出力されるはずのデータが出力されない

GASで開発しております。
「特定の位置」から「特定のキーワード」で検索した際のGoogle Mapの検索順位を20位まで取得したいです。
※ 釈迦に説法ですが、Google mapの検索順位は位置情報が影響します。

Google Map Places API Nearby Searchを用いて実現しようと試みました。
ただ、取得されるはずの店舗が出力されておりません。

Q1. プログラムに問題があるのか。 Q2. Google Map Places API Nearby Searchでは検索順位を取得することはできないのか。 Q3. Q2がYESの場合、どのAPIを用いた方が良いか。
function searchGoogleMapsShinjukuRamen() { var apiKey = '非公開'; var keyword = 'ラーメン'; var location = '35.689723852172015, 139.7006135441899'; // 新宿駅 var radius = '500'; // 半径500メートル var language = 'ja'; // 日本語の結果を取得 var url = 'https://maps.googleapis.com/maps/api/place/nearbysearch/json?location=' + location + '&radius=' + radius + '&keyword=' + encodeURIComponent(keyword) + '&language=' + language + '&key=' + apiKey; var response = UrlFetchApp.fetch(url); var json = JSON.parse(response.getContentText()); // Google Sheetsに出力 outputToShinjukuSheet(json); } function outputToShinjukuSheet(data) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('新宿'); if (!sheet) { sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('新宿'); } // 出力する行を決定(3行目のA列からチェック開始) var row = 3; // 3行目から開始 while (sheet.getRange(row, 1).getValue() !== '') { row++; // 空白行を探す } // 現在時刻を1列目の適切な行に出力 var now = Utilities.formatDate(new Date(), 'JST', 'yyyy/MM/dd'); sheet.getRange(row, 1).setValue(now); var results = data.results.slice(0, 20); // 上位20位までの結果 var column = 2; // B列から店舗情報を開始 results.forEach(function(place) { sheet.getRange(row, column).setValue(place.name); sheet.getRange(row, column + 1).setValue(place.user_ratings_total || 'N/A'); sheet.getRange(row, column + 2).setValue(place.rating || 'N/A'); column += 3; // 次の店舗のために3列移動 }); }

コメントを投稿

0 コメント