如何使用GoogleApiClient对象访问Google plus域名api?

时间:2015-03-11 16:45:38

标签: android api google-plus google-api-client google-plus-domains

文档here说明以下

  

警告:Google+登录按钮和使用的plus.login范围   Google+登录目前不支持与Google+一起使用   域名API。使用Google+向域名API发出的请求   授予的身份验证令牌   https://www.googleapis.com/auth/plus.login范围,或由...生成   Google+登录按钮将失败。

因此,如果我们需要访问Google Plus Domains API,我们如何使用android中的GoogleApiClient对象进行操作? 我想要一个用户圈子的列表,我需要使用Domains API。

1 个答案:

答案 0 :(得分:0)

考虑使用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 link完成示例。