这里的文档说:
警告:Google+ 登录按钮和 使用的 plus.login 范围 Google+ 登录,目前不支持与 Google+ 一起使用 域 API。使用 Google+ Domains API 发出的请求 为 https://www.googleapis.com/auth/plus.login 范围,或由 Google+ 登录按钮将失败。
因此,如果我们需要访问Google Plus Domains API,我们如何在Android中使用GoogleApiClient对象来做到这一点?我想要一个需要使用域 API 的用户圈子列表。
考虑使用 GoogleAuthUtil 进行 Google Plus Domain 身份验证。
最重要的是:"域API仅适用于域电子邮件ID"(不是gmail ID)。
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 链接到完整的示例。