如何从开发者控制台生成Server API Key以使用Google Distance Matrix API计算两地距离
解决Google Distance Matrix API的Server Key生成问题
我之前也碰到过完全一样的坑——用App Key调用服务器端的API肯定会报错,因为两者的权限和适用场景完全不同。别着急,下面是生成Server Key的详细步骤,跟着走就能搞定:
第一步:进入Google Cloud控制台
登录你的Google Cloud账号,先确认选中了正确的项目(没有的话就先创建一个新项目)。第二步:创建Server类型的API密钥
- 点击左侧菜单栏的「API和服务」→「凭据」选项。
- 在凭据页面顶部,点击「创建凭据」按钮,选择「API密钥」。
- 生成密钥后,点击密钥右侧的铅笔图标进入编辑页面。
- 在「密钥限制」区域,选择「IP地址(服务器端应用)」,然后添加你的服务器公网IP(支持单个IP或IP段,比如
10.0.0.1或者10.0.0.0/24)。这一步一定要做,能避免密钥被恶意盗用。 - 设置完成后点击「保存」,这个就是你需要的Server Key了。
第三步:启用Distance Matrix API
这步很容易被忽略!很多人生成了密钥还是报错,就是因为没启用对应的API:- 返回「API和服务」→「库」页面。
- 在搜索框输入「Distance Matrix API」,找到后点击进入详情页。
- 点击「启用」按钮,等个几分钟让配置生效。
第四步:测试请求
现在把你的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




