Android:GoogleAuthUtil.getToken - 帐户对象应该来自哪里?
Posted
技术标签:
【中文标题】Android:GoogleAuthUtil.getToken - 帐户对象应该来自哪里?【英文标题】:Android: GoogleAuthUtil.getToken - where is the account object supposed to come from? 【发布时间】:2016-04-01 12:56:42 【问题描述】: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】:使用文档here,您可以看到响应具有KEY_ACCOUNT_NAME 和KEY_ACCOUNT_TYPE。因此您可以创建自己的Account object
代码:
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);
【讨论】:
以上是关于Android:GoogleAuthUtil.getToken - 帐户对象应该来自哪里?的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )