где поставить API-ключ календаря Google для Android?

Я следую руководству, найденному здесь: 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 (так же, как «любой реферер разрешен»), и он все еще дает мне ошибку.


person Erik Stagg    schedule 09.05.2015    source источник
comment
Я увидел этот пост и изменил свой ключ, чтобы разрешить доступ любому приложению Android (эквивалентно любому разрешенному рефереру), и он все еще не работает.   -  person Erik Stagg    schedule 09.05.2015
comment
@ErikStagg ты решил эту проблему???   -  person Taranmeet Singh    schedule 01.12.2015


Ответы (3)


Видите последнюю строчку?

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

замените MYAPIKEY своим ключом.

также ваш вопрос очень похож на этот: Получение ошибки 403: доступ не настроен. Используйте Google Developers Console, чтобы активировать API для вашего проекта.

К счастью, у него есть рабочее решение, попробуйте его.

person Ashesh    schedule 09.05.2015
comment
да, я поместил туда MYAPIKEY (только в этом посте), чтобы не отдавать свой собственный ключ, и я уже просмотрел этот пост и попробовал его, как указано в ОП (рефереры = приложения для Android, которые имеют доступ) - person Erik Stagg; 09.05.2015

Я столкнулся с точной проблемой, и я, наконец, понял это. В отличие от Google Map API, сгенерированный «ключ API» не будет работать. Вам необходимо создать «идентификатор клиента OAuth 2.0», в котором SHA1 и идентификатор приложения соответствуют вашему проекту. Поскольку используются SHA1 и идентификатор приложения, вам больше не нужно объявлять ключ API в AndroidManifest.xml.

введите здесь описание изображения

Возьмем, к примеру, мой тестовый проект. Ключ API работает для Google Map на Android, но не для Google Calendar. Мне пришлось создать идентификатор клиента OAuth 2.0, чтобы он работал.

person Xi Wei    schedule 11.04.2016

Проблема только с генерацией ключа SHA-1. keytool -exportcert -alias advance -keystore /Users/EazyWorldPeace/Desktop/Advance/yourkey.jks -list -v

запустите эту команду на вашем Mac/Windows в соответствии с вашими настройками пути и сохраните то же имя пакета, что и в вашем приложении, и это будет работать.

Дайте мне знать, если это не работает с вами - :)

person Zia    schedule 23.01.2017