Как получить доступ к API доменов Google plus с помощью объекта GoogleApiClient?

Документация здесь говорит следующее

Предупреждение. Кнопка входа в Google+ и область действия plus.login, используемые входом в Google+, в настоящее время не поддерживаются для использования с API Google+ Доменов. Запросы, сделанные в API Доменов Google+ с использованием токена аутентификации, предоставленного для области https://www.googleapis.com/auth/plus.login или созданного кнопкой входа в Google+, не будут выполнены.

Так что, если нам нужно получить доступ к API доменов Google Plus, как нам это сделать, используя объект GoogleApiClient в Android? Мне нужен список кругов пользователей, для которых мне нужно использовать API Доменов.

1 ответ

Подумайте об использовании GoogleAuthUtil для аутентификации домена Google Plus.

И самое главное: "API домена будет работать только с идентификатором электронной почты домена" (который не является идентификатором Gmail).

String scopes = "oauth2:" + "https://www.googleapis.com/auth/plus.me " +
            "https://www.googleapis.com/auth/plus.circles.read";  
String accountName = "domain_email_id_used_for_login";//fetch from AccountManager or ask the user to enter
String token = "";
try {
        SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(LoginActivity.this);
        token = sharedPref.getString("token", "");
        if (!token.equals("")) {
            GoogleAuthUtil.clearToken(LoginActivity.this, token);
        }
        token = GoogleAuthUtil.getToken(LoginActivity.this,
                        accountName, scopes);
        GoogleCredential googleCredential = new GoogleCredential().setAccessToken(token);
        PlusDomains plusDomains = new PlusDomains.Builder(new NetHttpTransport(), new JacksonFactory(), googleCredential).setApplicationName("GPlusLab").build();
        plusDomains.people().get("me").execute();
                return token;
    } catch (UserRecoverableAuthException e) {
                startActivityForResult(e.getIntent(), REQUEST_AUTHORIZATION);
    } catch (GoogleAuthException e) {
                e.printStackTrace();
    } catch (IOException e) {
                e.printStackTrace();
    }

github ссылка для завершения примера.

Другие вопросы по тегам