使用安卓帐户管理器获取OAuth2令牌



是否可以使用 android AccountManager获得用于 Google API 的OAuth2令牌? 我知道的唯一另一种方法是有一个webView并让用户登录以获取OAuth2令牌,但对于许多人想要做的人来说,这似乎需要做很多工作,所以如果我可以使用AccountManager获取它会好得多。有这样的功能吗?

AccountManager根本不用于生成令牌 - 它仅用于存储与Account相关的凭据。这些类并非特定于 Google 服务器帐户 - 您可以将它们用于任何类型的帐户。例如,我使用它们来存储Facebook,Twitter等的OAuth2令牌。

您需要使用谷歌 API 生成 OAuth2 令牌,您可以使用 AccountManager 将其存储在Account中。您需要使用 Google API,因为 OAuth2 令牌生成的一部分发生在服务器本身上 - Google 将存储它发放的令牌的记录,以及与之相关的服务器帐户。如果您不调用 Google API 来生成令牌,Google 将不知道如何将令牌与 Google 服务器帐户匹配。

使用WebView获取 OAuth2 令牌的方法是执行此操作的正确方法。

一旦你为Account存储了OAuth2令牌,只要你想使用它进行查询,你就可以从AccountManager中检索它。因此,您只需要生成一次 OAuth2 令牌(除非它过期),然后一遍又一遍地使用它。

相关内容

  • 没有找到相关文章

最新更新