当前位置:  开发笔记 > Android > 正文

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

如何解决《Android:GoogleAuthUtil.getToken-应该来自哪个帐户对象?》经验,为你挑选了1个好方法。

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来获取电子邮件地址,我也可以从google登录结果中获取电子邮件地址 - 但我看不到获取整个帐户对象的方法.



1> easycheese..:

使用此处的文档,您可以看到回复包含KEY_ACCOUNT_NAME和KEY_ACCOUNT_TYPE.因此,您可以创建自己的Account对象

码:

  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);
            } 

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有