Google API 密钥限制 - HTTP 引用者
我将我的 Azure 网站 url xxxx.scm.azurewebsites.net 放在那里但不起作用(Google Places API Web 服务停止工作)。
localhost:44300 也不起作用。
我必须将密钥限制设置为“无”,然后 Google Places API Web 服务才能工作。
我做错了什么?
Web Service 应该在后端服务器上执行,所以对Web Services 的正确限制是IP 限制。
HTTP referer 限制用于客户端服务,如 Google Maps JavaScript API,它不适用于网络服务。
要在 Google Maps API 中接受本地主机和 HTTP(HTTP 引荐来源网址)的请求,请按照 Google Maps API 打印出的 javascript 控制台中的说明进行操作(它告诉您确切的操作):
Google Maps API 错误:RefererNotAllowedMapErrorhttps://developers.google.com/maps/documentation/javascript/error-messages#referer-not-allowed-map-error
您要授权的站点网址:http://localhost:3000/en
行要授权的站点 URL 表示您必须在接受来自这些 HTTP 引荐来源网址(网站)的请求 中设置的value
在这种情况下,例如对于 Ruby on Rails 应用程序,它是:
http://localhost:3000/en
但是你可以做得更好,使用星号作为通配符:
*localhost:3000/*
将值设置为localhost:3000/* 不起作用!
我在子域上有 Wordpress click-to-deploy
www.mydomain.com
,在 Google Cloud Platform 上的虚拟机中,帐户为 [email protected].
此外,我在子域
app.mydomain.com
上的Firebase托管上有一个网络应用程序,帐户为[email protected]。
用户登录 Wordpress,PHP 后端通过 POST API Rest 在 Firebase Auth 中创建用户,接收响应,并允许或禁止访问应用程序。
为了防止恶意使用 Firebase API(在应用程序中可见),我启用了 HTTP 限制。
我在这些限制中加入:
*.mydomain.com/*
和 mydomain.com/*
)。*.firebaseapp.com/*
和 firebaseapp.com/*
)。*.googleapis.com/*
和googleapis.com/*
)。我以为这就足够了,但 Wordpress 停止发送信息了。
解决方案: 我在 linux 终端中使用“ping”,指向我的 Wordpress 站点 (
ping www.mydomain.com
) 并得到以下信息:
64 bytes from xx.yy.zzz.aa.bc.googleusercontent.com (xx.yy.zzz.aa): icmp_seq=70 ttl=56 time=199 ms
我复制了根域 (
googleusercontent.com
) 并将其添加到 API 限制中,瞧,它起作用了。
(对不起,如果我的英语有错误)。