根据https://gist.github.com/ianbarber/5170508,您应该连接 PlusClient,然后才能使用 GoogleAuthUtil 获取令牌。
但是在我的应用程序中,我有一个落后的场景:我已经通过 GoogleAuthUtil.getToken(app, email, GOOGLE_AUTH_SCOPE) 获得了令牌。当我尝试使用 PlusClient 时,会发生两件事:
- setAccountName 没有任何有价值的效果(除了在错误的帐户设置时抛出异常),因为仍然会显示帐户选择器对话框
- 用户必须第二次登录(接受申请)
实际上,我想要的只是从 GoogleAuthUtil 中检索基本用户信息,例如用户个人资料图标和名称,以及他的电子邮件和令牌。
PS是的,有http://developer.android.com/guide/topics/providers/contacts-provider.html#UserProfile但它仅适用于 API 14
更新
我仍然不知道 GoogleAuthUtil 和 PlusClient 如何连接以及如何强制它们一起工作。唯一可行的解决方案(在 GMS 示例中找到)是获取https://www.googleapis.com/oauth2/v1/userinfo?access_token=token
但这很奇怪——你在设备上安装了 600KB 的库类 + Google Play Service 应用程序,你仍然需要手动获取用户配置文件......