我使用的每个 API 都需要一个 API 密钥吗?

Do I need an API key for each API I use?

我正在尝试在我的 android 应用程序中同时使用 google 地图 API 和地点 API(包括地图和地点自动完成 activity), 但是我为 google 地图获得的 API 密钥似乎不适用于地点自动完成 activity,我尝试为地点 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>

当然不行

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

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

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

遵循 google 地图

的两个权限
<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,您需要执行以下步骤:

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

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

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

两个 API 只需要一把 API 钥匙。