我想从 AccountManager 获取 Google Authtoken,我可以将其发送到我的 Web 服务(未托管在 App Engine 上)以对用户进行身份验证(我只需要电子邮件地址,最终需要他的姓名,如果不需要此权限)。
“getAuthToken”方法的“authToken Type”参数必须使用什么?
我必须使用哪个 google Api 来获取用户电子邮件?
使用 OpenID Connect 可以做到这一点,但它还处于实验阶段,因此细节将来可能会发生变化。如果您获得“https://www.googleapis.com/auth/userinfo.email”或“https://www.googleapis.com/auth/userinfo.profile”范围的 OAuth 令牌,您可以使用它来获取用户信息来自https://www.googleapis.com/oauth2/v1/userinfo https://www.googleapis.com/oauth2/v1/userinfo(包括电子邮件)。当然,这需要用户授权。
理论上你应该能够从AcccountManager
使用“oauth2:https://www.googleapis.com/auth/userinfo.profile”作为令牌类型,但这似乎不适用于我的设备(带有库存4.0.4的Galaxy Nexus)。自从通过获得令牌以来AccountManager
不起作用(至少目前如此),唯一可靠的方法是使用 WebView 并通过浏览器获取一个,如下所述:https://developers.google.com/accounts/docs/MobileApps https://developers.google.com/accounts/docs/MobileApps
这里有一个演示网络应用程序可以执行此操作:https://oauthssodemo.appspot.com https://oauthssodemo.appspot.com
(最新)更新:Google Play 服务已发布,它是获取 OAuth 令牌的首选方式。它应该适用于所有 Android 2.2 及更高版本的设备。获取个人资料令牌确实可以使用它,事实上他们在演示应用程序中使用它
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)