2

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

4

1 回答 1

1

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

您将需要使用 Google API 来生成 OAuth2 令牌,您Account使用AccountManager. 您需要使用 Google API,因为 OAuth2 令牌生成的一部分发生在服务器本身 - Google 将存储它提供的令牌的记录,以及与它们相关的服务器帐户。如果您没有调用 Google API 来生成令牌,Google 将不知道如何将令牌与 Google 服务器帐户匹配。

您使用 aWebView获取 OAuth2 令牌的方法是正确的方法。

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

于 2012-06-16T05:58:35.387 回答