Android:Google SSO - OAuth还是AccountManager?或两者?

Bos*_*one 10 android google-reader oauth accountmanager

在阅读各种Stackoverflow帖子和各种文档(包括http://code.google.com/p/google-api-java-client/网站上的一些文档)后,我感到非常困惑.那么有人可以向我解释实现以下目标的最佳方法:

  1. 让用户批准我的应用.如果通过在帐户/设置中访问其注册的Google帐户并批准应用程序(首选方式)或致电Google OAuth身份验证页面,我并不在意
  2. 获取可用于与Google Reader通信的身份验证令牌

另一个令我困惑的地方 - 我能够使用AccountManager批准我的应用程序并从中获取身份验证令牌,但它不适用于Google阅读器.那么如何平衡AccountManager和OAuth的账户信息呢?我在AccountManager设置中获得用户批准后,是否仍需要对OAuth执行任何操作?

代码示例会很好但我看起来更清楚地解释了所有这些部分是如何相互关联的

Nik*_*kov 6

客户经理可让您获取不同服务的身份验证令牌.引擎盖下有不同的具体实现:ClientLogin,OAuth等.要使其与Google Reader一起使用,您需要传递适当的令牌类型.对于ClientLogin,这些是短字符串,如"啊"(App Engine)和"reader"(Google Reader).对于OAuth,它们是范围,由每个服务定义.那么,你作为authTokenType参数传递了什么?

获取令牌是异步的,因为它可能涉及网络访问.如果有缓存令牌,则会立即返回,如果有效.流程并不复杂,请参阅上面的链接以获得漂亮的图片.获得令牌后,将其放入相应的标头中,并按照规范使用API​​.