【问题标题】:Two google API Keys in the same project同一个项目中的两个谷歌 API 密钥
【发布时间】:2016-02-13 15:01:13
【问题描述】:

我正在尝试在同一个项目中实现两个不同的 Google 密钥,Google Places API for Android 和 Google Maps Android API。

我检查了this post 和this one,但我相信我遇到了不同的问题

我的清单如下所示:

<meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="@string/google_maps_key" />

<meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="Second Key"/>

我得到的错误如下:

Caused by: java.lang.RuntimeException: API key 只能是 指定一次。建议您将元数据标签与 名称:com.google.android.geo.API_KEY 在元素中 AndroidManifest.xml

这是否意味着我不能在同一个项目中使用其他 API?你觉得我能怎么解决?

提前致谢

【问题讨论】:

    标签: android google-maps google-maps-android-api-2 google-places-api api-key


    【解决方案1】:

    您只需要在 Google Developer Console

    中启用所有 Api(您需要)

    对于您想要访问的所有 API,它们必须只有一个 KEY,并将该密钥添加到您的 AndroidManifest.xml。

    您可以启用所有 Api 并从 Google 开发者控制台下载 google-services.json 并将其添加到您的项目>应用

    <!-- Google Maps API Key -->
    <meta-data
    android:name="com.google.android.maps.v2.API_KEY"
    android:value="AIzaSyA******************KDaKCEJU" />    
    
    <!-- Google Places API Key -->
    <meta-data
    android:name="com.google.android.geo.API_KEY"
    android:value="AIzaSyA******************KDaKCEJU" />    
    

    这会解决你的问题。

    【讨论】:

    • 我已经启用了两个 API,并且我为 meta-data 使用了相同的 API 密钥,但我不断收到错误
    • 在同一个项目中(在 Google 控制台中),您必须启用您想在 Google 控制台中使用的 API。您只需要使用一个 API KEY 即可访问您在 Google 控制台中启用的所有 Api。此单一 KEY 将添加到 AndroidManifest.xml。仅使用一个“元数据”
    • 是的,我知道,我已经在同一个项目中启用了这两个 API(在 Google 控制台中)。现在我在meta-data 中使用谷歌为这两个API 提供的密钥,但我得到的错误仍然是一样的。
    • 添加了更多代码检查是否有帮助
    【解决方案2】:

    您必须启用这两项服务并在清单中包含密钥一次(不是两次)。您可能会找到一些解决问题的方法Here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      相关资源
      最近更新 更多