在阅读了各种 Stackoverflow 帖子和各种文档之后,包括关于 http://code.google.com/p/google-api-java-client/ 的一些文档网站我感到非常困惑。那么有人可以向我解释实现以下目标的最佳方法吗:
- 让用户批准我的应用。我真的不在乎这是通过访问他们在帐户/设置中注册的 Google 帐户并批准应用程序(首选方式)还是通过调用 Google OAuth 身份验证页面来完成
- 获取可用于与 Google Reader 通信的身份验证 token
另一个让我感到困惑的地方 - 我能够使用 AccountManager 批准我的应用程序并从中获取授权 token ,但它不适用于 Google 阅读器。那么如何平衡来自 AccountManager 和 OAuth 的 Account 信息呢?在 AccountManager 设置中获得用户批准后,我还需要对 OAuth 执行任何操作吗?
代码示例会很好,但我会更多地寻找关于所有这些部分如何相互关联的清晰解释
最佳答案
帐户管理器可让您获取不同服务的身份验证 token 。引擎盖下有不同的具体实现:ClientLogin、OAuth 等。要让它与 Google Reader 一起工作,您需要传递适当的 token 类型。对于 ClientLogin,这些是短字符串,如“ah”(App Engine) 和“reader”(Google Reader)。对于 OAuth,它们是范围,由每个服务定义。那么,您要将什么作为 authTokenType
参数传递?
获取 token 是异步的,因为它可能涉及网络访问。如果有缓存的 token ,如果有效,将立即返回。流程并不复杂,请参阅上面的链接以获取漂亮的图片。获得 token 后,将其放入适当的 header 中,并根据规范使用 API。
关于Android:Google SSO - OAuth 或 AccountManager?或两者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916501/