Android:如何让没有Google Play服务的用户进行Google登录?

5
有没有一种不需要 Google Play 服务的实现 Google 登录的方法?我知道官方文档中说需要 GPS:
https://developers.google.com/identity/sign-in/android/start-integrating 但是在这里我也找到了相矛盾的信息:
Google Plus Login without Google Play Services 它说使用 Google+ API,您可以在用户没有 GPS 的情况下实现登录。哪个是真的?从技术上讲,您是否可以在没有 GPS 的情况下实现登录?如果可以,那么为无法下载 GPS 的用户使用它作为后备选项将是不错的。
1个回答

4
你可以使用Android账户管理器获取访问令牌(如果用户已在手机上使用他/她的Google帐户登录): 如果您不想这样做,可以始终通过WebView纯OAuth2登录用户。以下是一些资源可供您开始使用:

如果您选择使用WebView,则必须手动处理访问/刷新令牌,这可能或可能不方便。

祝你好运!

编辑:您在帖子中提到了G +,因此这里提供有关如何向请求添加G +范围的信息:

(选择您需要的范围,并将其包含在访问/刷新令牌请求中)

非常感谢您的回复!关于您提到的第一个文档的问题。它指出:“要开始使用GoogleAuthUtil访问Google的REST API,必须使用Google Play服务库设置Android应用程序项目。”这是否意味着需要用户在设备上开启GPS才能使其正常工作?它还会抛出GooglePlayServicesAvailabilityException异常,似乎证实了这一点。 - Jon
1
你是对的,很抱歉!账户管理器中的这个方法应该会给你一个有效的认证令牌:http://developer.android.com/reference/android/accounts/AccountManager.html#getAuthToken(android.accounts.Account,%20java.lang.String,%20android.os.Bundle,%20android.app.Activity,%20android.accounts.AccountManagerCallback<android.os.Bundle>,%20android.os.Handler),但我不确定如何将其转换为访问令牌(如果你需要的话)。 - Erik Živković
根据谷歌的这篇博客文章,使用webview将不再起作用。 - Maciej Witowski
所提供的 Web 视图解决方案只需进行少量更改就可以完美运行! @MaciejWitowski,对我来说它起作用了。 - Jaswant Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接