gpt4 book ai didi

android - GoogleAuthUtil 和 PlusClient

转载 作者:太空狗 更新时间:2023-10-29 16:40:52 24 4
gpt4 key购买 nike

根据 https://gist.github.com/ianbarber/5170508您应该与 PlusClient 连接,然后才使用 GoogleAuthUtil 获取 token 。

但在我的应用程序中,我遇到了落后的情况:我已经通过 GoogleAuthUtil.getToken(app, email, GOOGLE_AUTH_SCOPE) 获得了 token 。当我尝试使用 PlusClient 时,发生了两件事:

  1. setAccountName 没有任何作用(除非它在错误的帐户设置时抛出异常)因为帐户选择器对话框仍然会显示
  2. 用户必须第二次登录(接受申请)

实际上,我想要的只是从 GoogleAuthUtil 检索基本用户信息,例如用户个人资料图标和名称,以及他的电子邮件和 token 。

P.S. 是的,有 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 服务应用程序,你仍然必须手动获取用户配置文件......

最佳答案

如果您不想使用 PlusClient,一个选项是使用您从 getToken() 收到的 token 自己点击 REST api:

https://developers.google.com/+/api/latest/people/get

不过,PlusClient 让这对您来说变得容易得多,因为它为您在 Java POJO 和 JSON 之间进行转换,为您管理缓存、离线访问和 OAuth token 。

如果您使用具有有效 Google 帐户名称的 PlusClient.Builder.setAccountName() 构建 PlusClient,您不应从显示帐户选择器的 PlusClient 返回 Intent 。

此外,如果您在对 getToken() 的调用中请求相同的范围(您必须包括 https://www.googleapis.com/auth/plus.login ),并且当您构建 PlusClient 时,它不应要求用户再次同意.

关于android - GoogleAuthUtil 和 PlusClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17993587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com