У меня есть база данных клиентов в Google Sheets со списком адресов.Я использую геокодирование для генерации их долготы / широты для удобного использования в таблицах Fusion для составления карт.Я использовал следующий код только один раз в списке из 963 клиентов, и он остановился на клиенте 761 с ошибкой «Служба вызывается слишком много раз за один день: геокод».
Мне известно о 2500суточный лимит для вызова Geocode API.Меня смущает то, что я не уверен, как этот код достиг этого предела после 761 итерации.Я просматривал его снова и снова и не вижу, как он выполняет более 1 запроса за итерацию.У меня нет других подобных проектов, и я никогда не использовал функцию Geocode API до сих пор.Я хотел бы предотвратить случайное достижение этой ошибки в будущем.
Где я ошибся?
function geocodeFirstAddressFromCell(){
var sss = SpreadsheetApp.openById('WORKBOOK ID HERE');
var ss = sss.getSheetByName('Sheet1');
var lastRow = ss.getLastRow();
for (var startRow = 2; startRow < lastRow; startRow++) {
var addressCellData = ss.getRange(startRow, 13).getValue();
var results = Maps.newGeocoder().geocode(addressCellData);
if (results.status == 'OK') {
var bestResult = results.results[0];
var lat = bestResult.geometry.location.lat;
var lng = bestResult.geometry.location.lng;
var latLng = lat + ',' + lng;
var addressTargetCellData = ss.getRange(startRow, 16).setValue(latLng);
ss.getRange(startRow, 17).setValue(1);
} else {
Logger.log(results.status);
return '0,0';
}
}
}