在哪里放谷歌日历api键为Android?

时间:2015-05-09 04:43:39

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

我遵循此处的教程: https://developers.google.com/google-apps/calendar/quickstart/android

项目编译并运行然后给出错误403:“访问未配置.pii(日历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应用程序的连接(与“任何引用者允许”相同)并且它仍然给我错误。

3 个答案:

答案 0 :(得分:0)

见最后一行?

<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

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

答案 1 :(得分:0)

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

enter image description here

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

答案 2 :(得分:0)

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

根据路径设置在mac / windows上运行此命令,并保留与应用程序中相同的程序包名称,这样就可以了。

让我知道它是否与你合作 - :)