Вопрос

Мне нужно получить токен доступа и отправить его на сервер.С этим сервером токена доступа должен получить все детали пользователя, например, имя, изображение профиля и электронное письмо.

Я могу получить токен доступа, используя 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top