You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何从开发者控制台生成Server API Key以使用Google Distance Matrix API计算两地距离

解决Google Distance Matrix API的Server Key生成问题

我之前也碰到过完全一样的坑——用App Key调用服务器端的API肯定会报错,因为两者的权限和适用场景完全不同。别着急,下面是生成Server Key的详细步骤,跟着走就能搞定:

  • 第一步:进入Google Cloud控制台
    登录你的Google Cloud账号,先确认选中了正确的项目(没有的话就先创建一个新项目)。

  • 第二步:创建Server类型的API密钥

    1. 点击左侧菜单栏的「API和服务」→「凭据」选项。
    2. 在凭据页面顶部,点击「创建凭据」按钮,选择「API密钥」。
    3. 生成密钥后,点击密钥右侧的铅笔图标进入编辑页面。
    4. 在「密钥限制」区域,选择「IP地址(服务器端应用)」,然后添加你的服务器公网IP(支持单个IP或IP段,比如10.0.0.1或者10.0.0.0/24)。这一步一定要做,能避免密钥被恶意盗用。
    5. 设置完成后点击「保存」,这个就是你需要的Server Key了。
  • 第三步:启用Distance Matrix API
    这步很容易被忽略!很多人生成了密钥还是报错,就是因为没启用对应的API:

    1. 返回「API和服务」→「库」页面。
    2. 在搜索框输入「Distance Matrix API」,找到后点击进入详情页。
    3. 点击「启用」按钮,等个几分钟让配置生效。
  • 第四步:测试请求
    现在把你的Server Key替换掉原来的App Key,调用你提供的接口:

    https://maps.googleapis.com/maps/api/distancematrix/xml?origins=Vancouver+BC|Seattle&destinations=...&key=你的Server Key
    

    应该就能正常获取距离数据了。

简单说下原因:App Key(Android/iOS密钥)是给移动客户端用的,靠包名、签名来限制使用;而Server Key是给服务器端调用的,通过IP地址来做权限控制,所以用错密钥类型就会触发「未授权使用API」的错误。

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

火山引擎 最新活动