【问题标题】:Do I need an API key for each API I use?我使用的每个 API 都需要一个 API 密钥吗?
【发布时间】:2016-05-10 17:15:33
【问题描述】:

我正在尝试在我的 android 应用中同时使用 google maps API 和 places API(包括地图和地点自动完成活动), 但是我为谷歌地图获得的 API 密钥似乎不适用于地点自动完成活动,我尝试为 Places API 获取另一个密钥,但我不知道如何将它包含在我的项目中,我的清单文件目前看起来像这个:

 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
       package="com.ciceroneltd.cicero">

 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

 <application
     android:allowBackup="true"
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:supportsRtl="true"
     android:theme="@style/AppTheme">
     <activity
         android:name=".MainActivity"
         android:label=""
         android:theme="@style/AppTheme.NoActionBar">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />

             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
     </activity>


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

    <meta-data
         android:name="com.google.android.geo.API_KEY"
         android:value="@string/places_api_key" />

 </application>

当然不行

【问题讨论】:

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


    【解决方案1】:

    您必须确保您使用的 API 密钥与 API 管理器/凭据部分中的密钥匹配:https://console.developers.google.com/apis/credentials

    首先,您需要登录您的https://console.developers.google.com 帐户。

    还要确保您的包名称和 SHA-1 证书指纹正确。

    【讨论】:

    • 那么两个 API 都需要一个密钥? @维卡斯
    • 两者都需要 2 个不同的 API。
    【解决方案2】:

    正确答案如下:

    要在单个应用中使用多个 API,您需要执行以下步骤:

    1. 在 Google 的开发者控制台中创建一个新项目here.

    2. 从控制台启用您需要在应用中使用的 API。

    3. 创建一个新的 API 密钥并将其添加到您的清单文件中。

    两个 API 只需要一个 API 密钥。

    【讨论】:

    • 我看到许多开发人员不清楚他们需要多少密钥、需要哪些密钥、凭据。它就像一个迷宫。
    【解决方案3】:

    遵循谷歌地图的两个权限

    <meta-data
        android:name="com.google.android.maps.v2.API_KEY"
        android:value="AIzaSyCYAAicaxLbddmixUhFQk70dKZnuDq4jc0" />
    
    <meta-data
      android:name="com.google.android.gms.version"
      android:value="@integer/google_play_services_version" />
    

    那么这个地方 api 的权限

    <meta-data
         android:name="com.google.android.geo.API_KEY"
         android:value="@string/places_api_key" />
    

    【讨论】:

    • 而且每个 API 都有不同的密钥?
    • 是的。每个人都需要不同的密钥
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    • 2020-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-05
    相关资源
    最近更新 更多