В приложении для Android я выполнил пример Accessing Google APIs sofar, который успешно завершил соединение GoogleApiClient
и вызывается обратный вызов onConnected
.Получение имени, пол, расположение «меня» от GoogleApiClient
Однако пример в Google останавливается там, и я не знаю, как получить имя, пол и расположение себя (также известный как меня в JavaScript + PHP SDK для Google+, что я имел используется некоторое время назад).
Вот код Java (повторная обработка и обработка вращения, пропущенная для краткости, похоже, работает) Почему me
null?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(Plus.SCOPE_PLUS_PROFILE)
.build();
}
@Override
protected void onStart() {
super.onStart();
mGoogleApiClient.connect();
}
@Override
public void onConnected(Bundle bundle) { // why is me null?
Person me = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);
Person.Name name = me.getName();
String given = name.getGivenName();
String family = name.getFamilyName();
Log.d(TAG, "Given: " + given + ", Family: " + family);
}
Пожалуйста, посоветуйте, как извлечь данные зарегистрированного пользователя из Google+
UPDATE:
То, что я пытался решить мою проблему:
1) У меня есть добавлен .addScope(Plus.SCOPE_PLUS_LOGIN)
к вызову строителя.
2) Я добавил еще 2 разрешения на AndroidManifest.xml:
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
В Google Developers Console/Credentials я поставил оба ключи от моих реальных и хранилища ключей от .android \ debug.keystore:
Я не понимаю, где/если использовать «Идентификаторы клиентов» выше?
И у меня есть только 2 API: Google+ и GCM - возможно, больше необходимы?
3) Наконец, я назвал
adb shell setprop log.tag.GooglePlusPlatform VERBOSE
и увидели следующее сообщение об ошибке:
E/Volley (3890): [594] BasicNetwork.performRequest: Unexpected response code 403 for https://www.googleapis.com/plus/v1/people/me
D/GooglePlusPlatform(3890): Unexpected response code (403) when requesting: getPerson
W/GooglePlusPlatform(3890): {"errors":[{"domain":"usageLimits","reason":"accessNotConfigured","message":"Access Not Configured. The API (Google+ API) is not enabled for your project. Please use the Google Developers Console to update your configuration."}],"code":403}
Я использую реальное устройство (HTC М9) и мой приложение еще не опубликовано.
Моя проблема заключается в том, что 'Plus.PeopleApi.getCurrentPerson (mGoogleApiClient)' 'возвращает null' –
посмотреть на этот ответ: http://stackoverflow.com/questions/27908362/integrating-googleplus-in-android-fetch -gender-and-birthday –
Я думаю, это решит вашу проблему наверняка. Может быть, пользователь не вошел в систему. Вот почему он возвращает null. Если бы мой ответ помог вам, пожалуйста, примите мой ответ. Спасибо и удачи –