我正在尝试使用以下指南登录谷歌: http ://www.androidhive.info/2014/02/android-login-with-google-plus-account-1/ https://developers.google。 com/+/mobile/android/入门
登录有效,我能够正确登录。现在我需要的下一步是将访问和刷新令牌发送到我的服务器,以便服务器可以访问用户的谷歌帐户详细信息(图片/名称等)并将其作为新用户保存在数据库中。
我尝试使用此处的代码获取访问令牌: https ://github.com/googleplus/gplus-photohunt-client-android/blob/master/src/com/google/plus/samples/photohunt/auth/AuthUtil.java
当我在此处插入该访问令牌时: https ://www.googleapis.com/oauth2/v1/tokeninfo?access_token=
我看到 access_type 是“在线”。我相信为了接收刷新令牌并使其正常工作,我需要向用户请求离线访问。我不确定如何从上面指南中给出的代码中做到这一点。
我怀疑它一定在这里:
// Initializing google plus api client
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this).addApi(Plus.API, null)
.addScope(Plus.SCOPE_PLUS_LOGIN).build();
但是我这里没有办法将访问类型设置为离线。在这一点上,这整个过程听起来相当复杂,我希望以前做过这件事的人有一个指南/教程写在某个地方,这样可以更容易地理解如何让用户登录到你的 android 设备并将该用户保存在你的数据库中在您的服务器上,以便它们同步。任何帮助和指导将不胜感激。
编辑 1: 在阅读更多谷歌文档时,可以让流程按照我上面描述的方式工作: https ://developers.google.com/accounts/docs/CrossClientAuth 所有 android 应用程序如何处理多个平台上的用户注册? 像android和网站一样?如果我正在尝试的方法是唯一的方法,我会期待更多的资源。或者,如果有另一种替代解决方案,我很想知道。谢谢。