Получить имя пользователя, аватара из аккаунта google

Я разрабатываю модуль, который использует GoogleAccountCredential для входа, загрузки и загрузки файла в GoogleDrive.

Я хочу получить имя пользователя, фамилию и аватар учетной записи google для отображения в моей функции входа.

Я попробовал

 GoogleAccountCredential.getAccountName()

Но он возвращает только имя учетной записи.

И посмотрите OAuth 2.0, но не уверены. Он может предоставить мне, что мне нужно.

Не знаю, где получить эту информацию, любое предложение также поможет мне. Это просто, если есть несколько примеров

Ответ 1

Ответ на ianhanniballake работает, но есть лучший способ сделать это. Для получения информации о пользователе вам не требуется войти в Google+.

Авторизовать с областью https://www.googleapis.com/auth/userinfo.profile

Сделайте запрос GET на https://www.googleapis.com/oauth2/v1/userinfo?alt=json

Вы получите

{
 "id": "xx",
 "name": "xx",
 "given_name": "xx",
 "family_name": "xx",
 "link": "xx",
 "picture": "xx",
 "gender": "xx",
 "locale": "xx"
}

В следующей документации есть также конкретные рабочие коды: Получение и использование учетных данных OAuth 2.0.

Удачи!

Ответ 2

Чтобы получить эту информацию, вы должны использовать Google+ Sign In, в которой вы найдете PlusClient при успешном входе в систему. Затем вы можете использовать PlusClient.getCurrentPerson для получения Person (у кого есть getName() и getImage() метод) и PlusClient.getAccountName(), чтобы получить accountName, который вы будете использовать так же, как если бы вы использовали GoogleAccountCredential

String accessToken = GoogleAuthUtil.getToken(context, accountName, OAUTH2_SCOPE);
final GoogleCredential credential = new GoogleCredential();
credential.setAccessToken(accessToken);
Drive driveConnection = new Drive.Builder(AndroidHttp.newCompatibleTransport(), 
    new GsonFactory(), credential).setApplicationName(APP_NAME).build();

Ответ 3

Похоже, Google устарел на конечную точку userinfo, о которой JunYoung упомянул в пользу входа в Google+. Они остановят поддержку конечной точки userinfo к августу 2014 года. Подробнее см. Ссылку ниже:

https://developers.google.com/+/api/auth-migration