Как использовать массив для обхода сценариев Google: ошибка «служба вызывается слишком много раз за один день» - PullRequest
0 голосов
/ 17 марта 2019

Я написал простой скрипт для извлечения расстояния между двумя точками, каждая из которых находится в отдельной ячейке в GoogleSheets (ниже).Мой лист содержит один набор из 65 местоположений в верхнем ряду и второй набор из 6000 местоположений, перечисленных в первом столбце.Я хочу найти расстояние между каждым местоположением в верхней строке и каждым местоположением в первом столбце.

Учитывая размер моего набора данных, я сталкиваюсь с "службой, вызываемой слишком много раз в течение одного дня: маршрут "сообщение об ошибке.Я обнаружил в этом посте , предполагая, что можно создать массив для выполнения вычислений сразу для всей электронной таблицы, а не для каждой ячейки.Будет ли это подходящим решением для моей текущей проблемы?Если да, то как мне написать сценарий?Вот мой текущий код:

function GOOGLEMAPS(start_address,end_address) {

    Utilities.sleep(1000)


  var mapObj = Maps.newDirectionFinder();
  mapObj.setOrigin(start_address);
  mapObj.setDestination(end_address);
  var directions = mapObj.getDirections();

 var meters = directions["routes"][0]["legs"][0]["distance"]["value"];
 var distance = meters * 0.000621371

 //Logger.log(distance)

 return distance;

}

1 Ответ

0 голосов
/ 19 марта 2019

Если вы хотите преодолеть дневной лимит, установленный в скрипте Служб Google, вам следует инициализировать Карту с учетными данными Премиального плана Google Maps. Это означает, что вам следует связаться с Google и приобрести лицензию на премиум-план на Google Maps Platform, чтобы получить дополнительные квоты.

Для этой цели существует метод Maps.setAuthentication(clientId, signingKey);.

Позволяет использовать внешнюю учетную запись API Карт для бизнеса, чтобы использовать дополнительные квоты. Ваш идентификатор клиента и ключ подписи можно получить на портале поддержки Google Enterprise. Установите для этих значений значение null, чтобы вернуться к использованию квот по умолчанию.

источник: https://developers.google.com/apps-script/reference/maps/maps#setAuthentication(String,String)

Надеюсь, этот ответ прояснит ваше сомнение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...