You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提升路线服务日请求配额避免「每日调用路线服务次数过多」报错

问题根因

你遇到的配额限制来自Google Apps Script 内置 Maps 服务的独立配额规则,和你在GCP控制台设置的Directions API配额完全无关。只要你调用Maps.newDirectionFinder()方法,无论是否绑定GCP账号、是否调整GCP Directions API上限,都必须遵守普通账户每日1000次的调用限额,该限额默认无法自主提升。

可行解决方案

方案1:直接调用GCP Directions API HTTP接口(最推荐)

放弃使用Apps Script内置的Maps服务,改用UrlFetchApp直接请求Directions API的HTTP接口,此时请求走你自己GCP账户的配额,完全不受Apps Script内置服务的1000次限制,你在GCP设置的无上限配额就会生效。
修改后的参考代码如下:

function drivingdistance(start, end) {
  // 替换为你GCP控制台中已开启Directions API权限的密钥
  const GCP_API_KEY = "YOUR_GCP_API_KEY";
  const requestUrl = `https://maps.googleapis.com/maps/api/directions/json?origin=${encodeURIComponent(start)}&destination=${encodeURIComponent(end)}&key=${GCP_API_KEY}`;

  const response = UrlFetchApp.fetch(requestUrl);
  const result = JSON.parse(response.getContentText());

  if (result.status === "OK") {
    const distance = result.routes[0].legs[0].distance.value;
    Logger.log(distance);
    return distance;
  } else {
    throw new Error(`路线查询失败,错误码:${result.status}`);
  }
}

使用前请确认GCP控制台中对应密钥已经开启Directions API的调用权限,建议同时给密钥设置IP/应用限制,避免被盗刷产生额外费用。

方案2:优化调用逻辑减少请求量

如果暂时不想调整调用方式,可以通过优化减少实际请求次数:

  • 新增缓存逻辑:将已经查询过的起止点对应距离存在表格隐藏页、CacheService或PropertiesService中,重复查询直接读取缓存无需调用接口
  • 合并批量请求:Directions API支持单次请求传入最多25个途径点,你可以将同一批次的多个查询合并为一次请求,可降低80%以上的调用量

方案3:升级Google Workspace企业账户

如果必须使用Apps Script内置Maps服务,升级到Google Workspace企业版后,内置Maps服务的每日调用配额会大幅提升,足以覆盖你每日2000次的调用需求。


内容的提问来源于stack exchange,提问作者Renzo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 01:36:03