在将密钥限制到我的域后,我在Google地图API信息中心收到403地理编码API错误。密钥不受限制时,地理编码可以正常工作。目前我有以下可接受的HTTP引用:
这允许我的基本javascript地图和自动填充表单在HTML页面上工作。但是,地理编码是通过访问website.com/markers的python脚本完成的(没有HTML页面,如果你访问它只显示JSON数据)。有什么理由不起作用吗?我在API仪表板中看到403错误,但在访问website.com/markers时收到内部服务器错误消息。不受限制时,仪表板显示响应代码200,我可以看到正确的JSON数据。因此,我认为我的代码不是问题。
我尝试过的事情:
我已经搜索了这个问题几个小时但找不到答案,如果我忽略了一些简单的事情,请放轻松。
答案 0 :(得分:1)
听起来您正在尝试使用旨在与客户端Web api一起使用的URL限制方法。在这种情况下,站点的公共URL用于验证。
您希望使用IP地址验证,用于服务器端调用。
以下内容来自https://developers.google.com/maps/faq#keysystem:
API密钥:API密钥是您使用的生成的唯一标识符 Google API控制台。 API密钥通常与标准一起使用 蜜蜂。 Premium Plan customers1通常可以选择使用客户端ID 或API密钥。您可以选择使用API密钥而无需申请 限制(称为“通用API密钥”)或具有限制的密钥 申请更高的安全性。任何平台中的API都可以使用通用API API密钥。
您可以选择添加限制(例如,IP地址) API密钥。一旦受到限制,密钥只能在平台上运行 支持这种限制。四种API密钥限制 可用:
IP地址(单个服务器) - 用于Web服务API。
HTTP引用(网站) - 用于Web API。
Android应用限制(按包名称和指纹) - 用于Android API。
iOS应用限制(通过iOS捆绑包标识符) - 供使用 使用iOS API。
答案 1 :(得分:1)
您需要为Web服务使用不同的密钥。您不能对同一个密钥应用HTTP和IP限制。您需要在Google Maps Javascript API v3密钥上使用HTTP限制,并在网络服务密钥上使用IP限制。