Консоль API Google - отсутствует секрет клиента

Я попытался создать идентификатор тестового клиента для приложения Android, которое использует OAUTH 2.0 в качестве логина для получения профиля пользователя. Я выполнил шаги, чтобы завершить создание идентификатора клиента в консоли Google, но я нигде не вижу секрет клиента. Я пытаюсь помочь своему работодателю получить учетные данные Google для этого приложения. Я знаю, как реализовать OAUTH 2.0 в Android, но мне нужен секрет клиента для обмена кодом с токеном доступа.

Сначала я выбрал «Google+ API» на вкладке «Службы». Затем следуйте инструкциям на экране на вкладке «Доступ к API». введите здесь описание изображения


person Alexandru Circus    schedule 02.07.2012    source источник
comment
Я создал новую учетную запись службы, загрузил новый JSON, после чего все заработало.   -  person MingalevME    schedule 01.02.2016


Ответы (7)


Похоже, что Google наконец-то отказался от ненужных client_secret для устанавливаемых приложений и еще не обновил их документацию. Вы должны проверить, получили ли вы уже access_token в первоначальном запросе OAuth , как будто он обрабатывается в Facebook..

Другой вариант - вернуться к использованию ключа простого доступа к API.

Обновление:

Похоже, что первый метод не работает с Google.

Для Android рекомендуется использовать AccountManager вместо того, чтобы создавать собственные Запросы. Следуйте этому примеру, чтобы узнать, как это работает. реализовано и как вы получаете AuthToken с помощью ключа доступа Simple API. Вместо использования API задач вы можете затем включить OAuth2 Библиотека API для получения информации о пользователе.

person Jan Gerlinger    schedule 02.07.2012
comment
Он не работает только с access_code. String authorizationUrl = new GoogleAuthorizationCodeRequestUrl (OAuth2ClientCredentials.CLIENT_ID, OAuth2ClientCredentials.OAUTH_CALLBACK_URL, v) .build (); - person Alexandru Circus; 03.07.2012
comment
и mWebView.loadUrl (authorizationUrl); - person Alexandru Circus; 03.07.2012
comment
выше предоставит код доступа, но мне нужен токен доступа, и мне нужен секрет клиента, чтобы обменять код на токен доступа. Есть ли какое-либо другое решение, кроме использования простого ключа доступа API? Мне нужно получить профиль пользователя - person Alexandru Circus; 03.07.2012
comment
Сервер возвратил код HTTP-ответа: 401 для URL: rel = "googleapis" googleapis. oauth2 / v1 / userinfo? access_token = 4 / ... - person Alexandru Circus; 03.07.2012
comment
выше - при попытке доступа к профилю пользователя с использованием начального токена кода. Думаю, обмен на токен доступа решит ошибку 401. - person Alexandru Circus; 03.07.2012
comment
Спасибо. Я попробую это. Обратите внимание, что в прошлом я пытался (безуспешно) использовать Accountmanager, но предоставленные им токены были токенами входа клиента, а не OAUTH, поэтому я не могу получить доступ к информации пользователя с помощью входа клиента. stackoverflow.com/ questions / 9872495 /. Но теперь я вижу, что могу получить токен OAUTh из Android Acc Manager. Спасибо еще раз. - person Alexandru Circus; 04.07.2012
comment
Спасибо, работает. Я реализовал все из developers.google.com/google- apps / tasks / и изменена строка AUTH_TOKEN_TYPE = oauth2: googleapis.com/auth/tasks; в строку AUTH_TOKEN_TYPE = oauth2: googleapis.com/auth/userinfo.profile; Спасибо, ты спас меня Янв. - person Alexandru Circus; 04.07.2012
comment
Ссылка на пример, который вы предоставляете Яну Герлингеру, ведет на статью, которая устарела. Я думаю, что окончательным решением может быть использование процедуры входа в Google+ developers.google. ru / + / mobile / android / начало работы - person marienke; 27.02.2014
comment
Я не вижу идентификатор клиента ни в одном из примеров кода по ссылкам здесь. Мне нужно где-то указать идентификатор клиента ?? - person Ofek Agmon; 14.01.2015

Нажмите "Загрузить JSON". Это то, что вы ищете? введите описание изображения здесь

person George Nguyen    schedule 26.03.2013
comment
Ура, я нашел секреты внутри своего JSON! - person Jack; 12.03.2014
comment
я скачал это. но я не нашел секретный идентификатор. как я могу получить - person harikrishnan; 13.10.2014
comment
@Jack Я тоже не нашел. - person curiousMind; 27.09.2017
comment
@harikrishnan У меня такая же проблема. Документы Google хотят, чтобы я отправил секрет клиента, которого я никогда не получал. Также JSON и консоль разработчика Google не содержат секрета клиента. РЕДАКТИРОВАТЬ: Я знаю, что это старый ваш комментарий, но похоже, что Google полностью удалил секрет клиента, но не обновил свою документацию. - person user3772108; 09.07.2021

Поскольку почти все из принятого ответа устарело, я подумал, что поделюсь тем, что нашел.

Мне нужен People API, который требует секрета клиента. Google рекомендует использовать People API с Android:

Выберите тип приложения Другое, введите имя «Быстрый запуск People API» и нажмите кнопку «Создать».

Найдено здесь: https://developers.google.com/people/quickstart/java. (Шаг 1, часть e)

Поэтому, если вам нужен секрет клиента, вы можете подумать об использовании типа Другое. Конечно, сначала следуйте документации для вашего конкретного API.

person Bobby Puckett    schedule 24.08.2017
comment
Хороший приятель !! Я попробую с этим. Спасибо - person curiousMind; 27.09.2017

Только сегодня я узнал, что в новой облачной консоли мы можем видеть секрет клиента для приложений Android, тогда как в старой консоли Google мы просто не можем.

Чтобы использовать новую облачную консоль, просто нажмите на сообщение «Мы улучшаем работу. Попробуйте новую облачную консоль». Google запросит подтверждение по SMS. Теперь вы будете перенаправлены на новую облачную консоль.

щелкните это сообщение, чтобы использовать новую облачную консоль

Теперь просто выберите свой проект, нажмите «Зарегистрированные приложения» в левом меню, выберите свое приложение для Android и вуаля, на идентификаторе клиента oAuth 2.0 вы увидите секрет своего клиента. Понятия не имею, почему на старой консоли Google он не отображается, но если вам действительно нужен секретный ключ клиента, он есть.

здесь мы можем увидеть секрет клиента для приложений Android

person akira    schedule 19.09.2013
comment
На моей стороне нет опции Зарегистрированные приложения. Что мне нужно сделать, чтобы это увидеть? - person marienke; 26.02.2014

источник сообщил, что: Посетите консоль разработчика Google, чтобы получить учетные данные OAuth 2.0, такие как идентификатор клиента и секрет клиента, известные как Google, так и вашему приложению. Набор значений зависит от типа создаваемого приложения. Например, приложению JavaScript не требуется секрет, а приложению веб-сервера - требуется.

person Mirlo    schedule 11.02.2015

Теперь, когда тип Other недоступен, я использовал тип Desktop, так как хочу загрузить с помощью Visual Studio, которое является настольным приложением. Это сработало, я получил идентификатор клиента и секрет клиента.

person Sudherson Vetrichelvan    schedule 02.01.2021

Другое решение заключается в том, что вам нужно создать идентификатор клиента с типом «Установленное приложение», тогда у вас будет секрет клиента.

person George Nguyen    schedule 28.03.2013