Android:GoogleAuthUtil.getToken-帐户对象应该来自哪里



GoogleAuthUtil.getToken的第二个参数需要一个帐户对象,但当你连接到Google SignIn时,你会得到一个GoogleSignInAccount,这不是一回事。有没有办法将GoogleSignInAccount转换为Account对象?

 private void handleSignInResult(GoogleSignInResult result) {
        if (result.isSuccess()) {
            googleSignInAccount = result.getSignInAccount();
        }
    }

之后:

authToken = GoogleAuthUtil.getToken(context, [need an account here], scope);

我知道我可以通过显示accountpicker来获取电子邮件地址,也可以从谷歌登录结果中获取电子邮件地址——但我看不到获取整个帐户对象的方法。

使用此处的文档,您可以看到响应具有KEY_ACCOUNT_NAME和KEY_ACCUNT_TYPE。因此,您可以创建自己的帐户对象

代码:

  if (requestCode == REQUEST_CODE_PICK_ACCOUNT) {
            // Receiving a result from the AccountPicker
            if (resultCode == RESULT_OK) {
                mEmail = data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME);
                mType = data.getStringExtra(AccountManager.KEY_ACCOUNT_TYPE);
                // With the account name acquired, go get the auth token
                Account account = new Account(mEmail, mType);
                String token =  GoogleAuthUtil.getToken(context, account, mScope);
            } 

相关内容

  • 没有找到相关文章

最新更新