有没有可能使用android AccountManager
获取一个OAuth2
令牌,以便与谷歌API一起使用?我所知道的唯一另一种方法是有一个webView
,并让用户登录以获得OAuth2
令牌,但对于许多人来说,这似乎是一项大量的工作,所以如果我可以使用AccountManager
获得它,那就更好了。有像这样的功能吗?
发布于 2012-06-16 05:58:35
AccountManager
根本不是用来生成令牌的--它只用来存储与Account
相关的凭证。这些类并不是特定于Google服务器帐户的-您可以将它们用于任何类型的帐户。例如,我使用它们来存储Facebook、Twitter等的OAuth2令牌。
您将需要使用Google来生成OAuth2令牌,并使用AccountManager
将其存储在Account
中。您需要使用Google,因为部分OAuth2令牌生成发生在服务器本身上-- Google将存储它已分发的令牌的记录,以及与它们相关的服务器帐户。如果您没有调用Google API来生成令牌,Google将不知道如何将令牌与Google服务器帐户相匹配。
您使用WebView
获取OAuth2令牌的方法是正确的方法。
为Account
存储了OAuth2令牌后,只要想要使用它进行查询,就可以从AccountManager
中检索它。因此,您只需要生成一次OAuth2令牌(除非它过期),然后反复使用它。
https://stackoverflow.com/questions/11061211
复制