2013-02-22 3 views
15

Я получаю GoogleAuthException: Unknown error, делая GoogleAuthUtil.getToken.Google Api and android Oauth INVALID_AUDIENCE error

Незадолго до исключения я вижу

GLSUser: GLS error: INVALID_AUDIENCE <email> audience:server:client_id:xxx.apps.googleusercontent.com 

Я поставил SHA1 от моего ключа выпуска, имя пакета, в проект Google API. (Который, кстати, успешно используется для GCM.)

ответ

16

Похоже, это должно сработать; вот код-init-init из моего приложения, который работает.

private static final String SCOPE = "audience:server:client_id:" + SERVER_CLIENT_ID; 

Так что это пахнет мне, как будто проблема с идентификатором клиента. Помните, что

  1. Вы должны иметь проект с двумя клиентских идентификаторами
  2. Одним из них является один для андроид приложения, с пакетом & ША & так далее
  3. Другим для серверной стороны, что вам «собирается отправить маркер прочь к

Это идентификатор клиента из # 3, который идет после ...: client_id:

+0

Спасибо, что это было. – Alok

+3

@Alok .... Я столкнулся с той же проблемой. Я использую web client_id в аудитории в endpoints api, а также в области аудитории Android. Все еще видят ту же ошибку аутентификации.Как вы создали веб-клиент_ид? Я пошел в консоль Google API, сгенерировал идентификатор клиента для веб-приложений с пустым переходом uri & javascript. Это верно? – plspl

+0

Другой распространенной причиной этого является регистрация хэша сертификата отладки и тестирование с выпуском (или наоборот). –

0

Довелось один на своей команду хотя он работал нормально на моем устройстве. Это оказалось из-за другого debug.keystore на наших установках затмения.

Чтобы решить эту проблему, мы скопировали файл debug.keystore компании к ~/.android/ (это реж на макинтош, он отличается от Linux и Windows)

0

решить эту проблему, удалив свой debug.keystore найдены в вашем. android, затем снова запустите новый проект, чтобы создать новый файл debug.keystore. Затем, наконец, сгенерируйте новый сертификат подписи SHA-1 для Google API.

0

Также вам необходимо настроить экран авторизации oAuth в консоли Google API.

Вот почему я получил эту ошибку

0

В интересах документирования мой вопрос,

У меня была такая же ошибка INVALID_AUDIENCE вернулся из входа в через Mobile Hub AWS генерируемой образца приложения Google. Несколько вещей, чтобы проверить,

Как и Тим Брэй отмечает, что вы должны сделать свой идентификатор клиента действительным идентификатором веб-клиента (а не Android). Но также имеет идентификатор клиента Android, который имеет как надлежащий SHA-1 Fingerprint (найденный в debug.keystore, который Android Studio использует для подписи сборки отладки при нажатии кнопки «Выполнить») и имени пакета.

ПРИМЕЧАНИЕ. Имя пакета, указанное в AndroidManifest.xml, не всегда является фактическим именем пакета. Чтобы найти окончательное имя пакета, перейдите в файл build.gradle и посмотрите поле applicationId. Обязательно введите правильное имя пакета в Консоль разработчика при настройке идентификатора клиента Android.