Невозможно установить область входа в Google на Android

Я использую Google API для входа в приложение Android.

Код здесь:

SignInButton btnLogin = (SignInButton) findViewById(R.id.sign_in_button);

btnLogin.setOnClickListener(this);

Scope[] scopes = new Scope[2];
scopes[0] = new Scope("https://www.googleapis.com/auth/admin.directory.user.readonly");
scopes[1] = new Scope("https://www.googleapis.com/auth/contacts.readonly");

btnLogin.setScopes(scopes);

Успешный вход с токеном доступа, но токен доступа относится только к областям по умолчанию:

"userinfo.profile" & "userinfo.email" & "auth/plus.me"

Можете ли вы помочь мне получить 2 прицела:

"/auth/admin.directory.user.readonly" & "/auth/contacts.readonly"

person Nguyen Lam Phuoc    schedule 09.01.2016    source источник


Ответы (2)


Вы можете обратиться к следующему синтаксису:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestScopes(new Scope(Scopes.PLUS_LOGIN)) // "https://www.googleapis.com/auth/plus.login"
                .requestScopes(new Scope(Scopes.PLUS_ME)) // "https://www.googleapis.com/auth/plus.me"
                .requestEmail()
                .build();

Дополнительные сведения см. на странице эту документацию. Надеюсь, поможет!

person BNK    schedule 09.01.2016
comment
Благодарим Вас за оценку =› .requestScopes(new Scope(googleapis.com/auth/contacts.readonly) ). Это сработало! - person Nguyen Lam Phuoc; 09.01.2016

Вы можете добавить несколько областей видимости в requestScopes().

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
                .requestScopes(new Scope(Scopes.PLUS_LOGIN), new Scope(Scopes.PLUS_ME))
                .requestEmail()
                .build();
person solamour    schedule 20.05.2017