我的AppEngine服务器都有Android客户端,都使用Google帐户。我想使用AccountManager获取OAuth的 accessToken 。到目前为止,我正在使用ClientLogin,但我想切换到OAuth。
在AppEngine上设置OAuth很简单 - 我跟着this article。但客户端是一个谜,特别是我不知道用于范围的内容,在AccountManager术语 authTokenType 中。对于ClientLogin,我对 authTokenType 使用“ah”。但是OAuth呢?
答案 0 :(得分:10)
截至今天,您可以在Android上使用Google Play Services API在Android上进行Oauth 2.0身份验证。然后,您可以使用@nivco描述的方法获取appengine上的userinfo。我还没有这样做,但我计划完全按照你的说法去做。
https://developers.google.com/android/google-play-services/authentication
答案 1 :(得分:6)
我不确定您要通过您所指的文章中使用的App Engine OAuthService来做什么。另外,据说AppEngine OAuthService仅支持OAuth 1,但Android仅支持OAuth 2 :)所以你搞砸了。
如果您想跨Android - App Engine身份验证,我会做的是:
https://www.googleapis.com/auth/userinfo.email
和https://www.googleapis.com/auth/userinfo.profile
)。 PS:我描述了使用this article中的Android AccountManager获取OAuth 2令牌。它写在冰淇淋三明治之前,但我跳的它仍然有效。基本上authTokenType
需要为oauth2:{scopes}
,因此例如{API}的oauth2:https://www.googleapis.com/auth/tasks
。现在可能有更好的方法可以做到这一点。