Google Maps API错误:Play商店中的RefererNotAllowedMapError

时间:2016-12-11 15:37:11

标签: android google-maps google-maps-api-3 ionic-framework

网上有很多答案,但我仍然愚蠢到自己破解:(。

我有一个离子混合应用程序(Ionic,angular和Visual Studio)。发展几乎已经完成并且运作良好。我使用.keystore证书签署了我的应用程序。我还在Google控制台中生成了一个API密钥,并对HTTP Referrers (Web Site)

进行了限制

在我的本地(开发环境)上,它停止了工作。所以我添加了http://localhost:4000/index.html#find(甚至localhost)作为API密钥的引荐来源。这解决了问题,现在工作正常。

但是我的应用程序无法在Android设备上运行。我不确定那里的引荐来源网址应该是什么。作为试用版,我使用visual studio调试了我的设备。以下是我追踪的错误。

Google Maps API error: RefererNotAllowedMapError https://developers.google.com/maps/documentation/javascript/error-messages#referer-not-allowed-map-error
Your site URL to be authorized: file:///android_asset/www/index.html#find

但是,添加file:///android_asset/www/index.html#find作为引荐来源并不能解决问题。对我来说,它看起来很期待,因为它们指向我的系统的原始文件(因为我正在调试)。那么,在将我的应用添加到Play商店之后,使所有设备工作的价值应该是什么呢?

是否必须来自manifest.xml或我的应用项目?或者我需要在Google Play Console的某个地方提到这个吗?有人可以指导我吗?

1 个答案:

答案 0 :(得分:5)

目前,Cloud开发者控制台中不支持/ referrers文件。

您可以考虑两个选项:

  1. 使用不具有HTTP引荐来源限制的其他API密钥
  2. 购买高级计划,其中file:/ referrers支持客户ID。
  3. 公共问题跟踪器中有一个issue 9996,其中包含带有file:///协议的引荐来源。我建议主演这个问题来表达你的兴趣并获得进一步的更新。

    <强>更新

    好消息是,谷歌增加了对文件:/ referrers的支持。您可以在文档中看到以下文本

    file:// referers need a special representation to be added to the Key restriction. The "file:/" part should be replaced with "__file_url__" before being added to the Key restriction. For example, "file://path/to/" should be formatted as "__file_url__/path/to/*". After enabling file:// referers, it is recommended you regularly check your usage, to make sure it matches your expectations

    https://developers.google.com/maps/documentation/javascript/get-api-key#key-restrictions