如何设置谷歌API密钥限制-HTTP引用



Google API密钥限制-HTTP引用程序

我把我的Azure网站网址xxxx.scm.azurewebsites.net放在那里,但不起作用(Google Places API Web Service停止工作)。

localhost:44300也不起作用。

我必须将密钥限制设置为"无",然后Google Places API Web服务才能工作。

我做错了什么?

Web服务应该在后端服务器上执行,因此对Web服务的正确限制是IP限制。

HTTP referer限制用于Google Maps JavaScript API等客户端服务,它不适用于web服务。

要在Google Maps API中通过localhost和HTTP(HTTP referrers)接受请求,请按照Google Maps API打印的javascript控制台中的说明进行操作(它告诉您要做什么):

谷歌地图API错误:ReferenNotAllowedMapErrorhttps://developers.google.com/maps/documentation/javascript/error-messages#referer-不允许的地图错误

您要授权的网站URL:http://localhost:3000/en

您的网站URL要被授权指示您必须在中设置哪个接受来自这些HTTP引用者(网站)的请求

在这种情况下,例如,对于RubyonRails应用程序,它是:

http://localhost:3000/en

但是,通过使用星号作为通配符,您可以做得更好:

*localhost:3000/*

将值设置为localhost:3000/*无效!

我让Wordpress点击部署在子域www.mydomain.com上,在谷歌云平台上的虚拟机中使用帐户account_1@gmail.com.

此外,我在子域app.mydomain.com上的Firebase Hosting上有一个web应用程序,带有帐户account_2@gmail.com.

用户登录Wordpress,PHP后端通过POST API Rest在Firebase Auth中创建用户,接收响应,并允许或不允许访问应用程序。

为了防止恶意使用Firebase API(在应用程序中可见),我启用了HTTP限制。

在这些限制中,我提出:

  • 我的应用程序的域(*.mydomain.com/*mydomain.com/*)
  • firebase功能域(*.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限制中,瞧,它起作用了。

(如果我的英语有错误,很抱歉)。

最新更新