Android Google Plus getCurrentPerson возвращает null

Когда я plusClient.getCurrentPerson() я получаю NULL.

Метод onConnected(Bundle...) вызванный после успешного входа в систему:

 @Override public void onConnected(Bundle bundle) { if (plusClient.getCurrentPerson() == null) { Log.e("DD", "Person is null !"); } } 

Я добавил SHA1 непосредственно из eclipse (Window-> Preferences-> Android-> Build). Я не знаю, что я делаю неправильно!

Отпечаток SHA1 от Eclipse ADT Отпечаток SHA1 от Eclipse ADT

Идентификатор клиента для установленных приложений Идентификатор клиента для установленных приложений

Простой доступ к API Простой доступ к API

В моем случае я забыл разрешить разрешение для google-plus

Надеюсь, что это сработает … Любое сомнение дайте мне знать

Проверьте с нуля:

Иногда информация о человеке может быть нулевой

Проверить: РАЗРЕШЕНИЯ

Важные вещи :

Включить API Google+ API

Включить API Google Maps Android

Если вы тестируете локально, добавьте ключ sha1 в опции eclipse -> window -> preference -> Android -> Build

ИЛИ

Вы можете генерировать ключ SHA1 через командную строку

Keytool -list -v -keystore "C: \ Users \ User.android \ debug.keystore" -alias androiddebugkey -storepass android -keypass android

Если вы публикуете приложение в play-store, вам нужно сменить ключ SHA1 на консоли Google

Потому что в локальном SHA1 ключ отличается. После того, как подписанный ключApk SHA1 отличается

При генерации подписанного apk -> на последнем экране -> вы можете увидеть SHA1-ключ

После добавления в консоль Google вы получите ключ API

Добавьте этот ключ в файл манифеста

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

Я только узнал, что вам нужно передать несколько областей при создании объекта PlusClient:

 PlusClient plusClient = new PlusClient.Builder(this, this, this).setScopes(Scopes.PLUS_LOGIN, Scopes.PLUS_PROFILE ,"https://www.googleapis.com/auth/userinfo.email").build(); 
  1. Сегодня я столкнулся с этим. Это старый пост, но я думаю, что другие должны знать, как я исправил это в Android Studio и в чем был источник проблемы.
    Я провел последние 6 часов с этим, и проблема состояла в том, что неделю назад я изменил имя пакета с помощью Refactoring из Android Studio, но что-то должно было получиться неправильным, так как всегда возвращало бы мне нуль, хотя я реорганизовал проект обратно в его оригинальный пакет ,
    Я исправил это, создав новый проект, не закрывая оригинал, но используя одно и то же имя пакета и тот же код входа из оригинального проекта, и, к моему удивлению, он сработал. Название нового проекта было иным, но я назвал пакет таким же, как старый, и у него была только кнопка и код для управления соединением и ничего другого.
    Новый проект будет читать данные по мере необходимости, и теперь старый проект каким-то образом встал на ноги и начал читать текущего пользователя.
    Я закрыл проект с помощью опции «Закрыть проект» в меню «Файл».

С наилучшими пожеланиями !

Проверьте телефонную сеть. Вы можете использовать эти коды ниже, чтобы проверить:

 Plus.PeopleApi.loadVisible(mGoogleApiClient, null).setResultCallback(this); @Override public void onResult(LoadPeopleResult result) { Log.d(TAG, "result.getStatus():" + result.getStatus()); } 

Если результатом является сетевая ошибка. Текущий человек будет равен нулю.

Я в Китае, так как вы знаете, хотим ли мы подключиться к сервису google, иногда нам нужен хороший агент.

Это похоже на проблему с разрешениями. Я добавил данные о платеже в консоли Google API, и он волшебным образом начал работать.