GoogleAuthUtil.getToken()已弃用,如何获取accessToken

时间:2017-01-09 13:07:56

标签: android google-plus

我正在实施谷歌标志,但我来到这个方法,这已被弃用显示它始终返回空值

String  token = GoogleAuthUtil.getToken(loginActivity, accountName, scopes);

即使我使用其他方法

 String token = GoogleAuthUtil.getToken(loginActivity, accountName, scopes, null);

但它仍然返回null并显示为不推荐使用。请帮助我如何获得访问令牌

2 个答案:

答案 0 :(得分:3)

在下面的getToken方法中,我认为您传递的是accountName,这是一个字符串值。

String  token = GoogleAuthUtil.getToken(loginActivity, accountName, scopes);
String token = GoogleAuthUtil.getToken(loginActivity, accountName, scopes, null);

因此它仍将返回已弃用的方法getToken

在传递之前将字符串转换为帐户,如下所述将有助于`:

Account accountDetails = new Account(accountName, GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);

String  token = GoogleAuthUtil.getToken(loginActivity, accountDetails, scopes);

希望这有帮助。

答案 1 :(得分:-1)

Google登录后,在onActivityResult(...)中,您可以从用户帐户访问tocken。它对我有用。

private static final int RC_SIGN_IN = 9001;
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == RC_SIGN_IN) {
            GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

            if (result.isSuccess()) {
                GoogleSignInAccount acct = result.getSignInAccount();
                String personEmail = acct.getEmail();
                String accessToken = acct.getIdToken();
            }
        }
    }