【问题标题】:where to put google calendar api key for android?在哪里放置 android 的谷歌日历 api 密钥?
【发布时间】:2015-07-20 02:14:37
【问题描述】:

我正在按照此处找到的教程进行操作: https://developers.google.com/google-apps/calendar/quickstart/android

项目编译并运行,但出现错误 403:“未配置访问。未为您的项目启用 api(日历 api)。”

我四处搜索,似乎对大多数人来说这是因为他们的包名错误,但是我直接从代码中复制并粘贴了它。我也想知道为什么我们生成一个 api 密钥但从不将它复制到 android 项目中。我在某处发现 API 密钥可以像这样添加到 android 清单中:

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

我已经尝试过上面的 v2 和 v3(我相信这是当前版本)。我尝试使用我的密钥库和 android 密钥库生成密钥,都指定应用程序或不指定任何应用程序。

将api密钥添加到项目以摆脱此错误的正确方法是什么?还是我做错了什么?

编辑:多人建议的帖子并没有解决我的问题,因为我已将其设置为允许来自所有 android 应用程序的连接(与“允许任何引用者”相同),但它仍然给我错误。

【问题讨论】:

标签: android api google-calendar-api api-key


【解决方案1】:

看到最后一行了吗?

<meta-data android:name="com.google.android.calendar.v2.API_KEY" android:value="MYAPIKEY" />

用您的密钥替换 MYAPIKEY

您的问题也与这个问题非常相似:Getting Error 403: Access Not Configured. Please use Google Developers Console to activate the API for your project

幸运的是它有一个可行的解决方案,试试吧。

【讨论】:

  • 是的,我把 MYAPIKEY 放在那里(仅在这篇文章中),以免泄露我自己的密钥,我已经看过那篇文章并按照 OP 中的说明进行了尝试(推荐人 = android 应用程序访问)
【解决方案2】:

我遇到了确切的问题,我终于弄明白了。与 Google Map API 不同,生成的“API 密钥”不起作用。您必须创建一个“OAuth 2.0 客户端 ID”,其中 SHA1 和应用程序 ID 与您的项目相匹配。由于使用了 SHA1 和应用 ID,因此您不再需要在 AndroidManifest.xml 中声明 API Key。

以我的测试项目为例,API Key 适用于 Android 上的 Google Map,但不适用于 Google Calendar。我必须创建 OAuth 2.0 客户端 ID 才能使其工作。

【讨论】:

    【解决方案3】:

    问题仅在于生成 SHA-1 密钥。 keytool -exportcert -alias Advance -keystore /Users/EazyWorldPeace/Desktop/Advance/yourkey.jks -list -v

    根据您的路径设置在您的 mac/windows 上运行此命令,并保持与您的应用程序中相同的包名称,这将起作用。

    如果它不适合你,请告诉我 -:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 2018-04-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多