Google Plus Войти Вход Token Retew
-
23-12-2019 - |
Вопрос
Мне нужно получить токен доступа и отправить его на сервер.С этим сервером токена доступа должен получить все детали пользователя, например, имя, изображение профиля и электронное письмо.
Я могу получить токен доступа, используя scopes.plus_login и scopes.plus_me , но с этим сервером токена доступа не может получить электронную почту пользователя.
Вот мой код:
@Override
public void onConnected(Bundle arg0) {
mSignInClicked = false;
AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... params) {
String token = null;
String scope = "oauth2:" + Scopes.PLUS_LOGIN + " " + Scopes.PLUS_ME;
try {
token = GoogleAuthUtil.getToken(
getApplicationContext(),
Plus.AccountApi.getAccountName(mGoogleApiClient),
scope);
appUser.setToken(token);
} catch (IOException transientEx) {
// Network or server error, try later
Log.e(TAG, transientEx.toString());
} catch (UserRecoverableAuthException e) {
// Recover (with e.getIntent())
} catch (GoogleAuthException authEx) {
// The call is not ever expected to succeed
// assuming you have already verified that
// Google Play services is installed.
Log.e(TAG, authEx.toString());
}
return token;
}
@Override
protected void onPostExecute(String token) {
Log.i(TAG, "Access token retrieved:" + appUser.getToken());
// Get user's information
}
};
}
.
Есть ли кто-нибудь, как решить эту проблему?
Решение
Вам не хватает прицела
https://www.googleapis.com/auth/userinfo.email
.
Я протестировал других областей, и только что кто-то, кажется, чтобы вернуть пользователей электронной почты.Вы можете проверить различные области спецификаций и что они возвращаются здесь: Люди: Получите Отказ
Примечание: я не программист Android, вам, вероятно, понадобится, узнав, как запросить этот объем с Android.Я смотрю, но не смог найти это.
Похоже, что прицел может быть просто электронная почта https://developers.google.com/+ / API / Oauth # Email