Java Android授权与谷歌为我自己的服务器

Java Android授权与谷歌为我自己的服务器,java,android,google-login,google-account,java-server,Java,Android,Google Login,Google Account,Java Server,所以我将从头开始。我想创建一个Android应用程序和一个服务器(用java编写)。服务器将用Java编写。我想做的是能够使用Google帐户从Android应用程序登录到我的服务器。设备登录后,将与HTTP请求共享一些信息。我想休息一下 我应该如何实现我的目标?我想我应该使用谷歌API和谷歌应用引擎。我应该如何在服务器中实现登录和部件。这是我第一次写一个服务器和一个应用程序登录,所以任何建议将不胜感激。申请是为了教育目的。提前谢谢 使用Google Play服务(您不需要应用程序引擎) 以下是

所以我将从头开始。我想创建一个Android应用程序和一个服务器(用java编写)。服务器将用Java编写。我想做的是能够使用Google帐户从Android应用程序登录到我的服务器。设备登录后,将与HTTP请求共享一些信息。我想休息一下

我应该如何实现我的目标?我想我应该使用谷歌API和谷歌应用引擎。我应该如何在服务器中实现登录和部件。这是我第一次写一个服务器和一个应用程序登录,所以任何建议将不胜感激。申请是为了教育目的。提前谢谢

使用Google Play服务(您不需要应用程序引擎)

以下是代码示例的完整过程:

您可以查看的另一个选项:

在服务器端,一旦您拥有auth令牌,您就可以使用用户名和令牌访问googlerestapi,Google将告诉您访问是否被授权

我明白你想做什么。你的用户已经在Google上拥有用户名和凭据,为什么不直接获取用户名并让Google进行所有身份验证呢

但是,您可能需要重新考虑这种方法

问题是,你会要求你的用户登录谷歌,谷歌会问用户(通过Android API代码中的逻辑)你的应用程序是否可以在谷歌访问他们的信息。您的用户可能会拒绝授予对您的应用程序的这种访问权限,这将阻碍您让人们使用您的应用程序的努力

现在,如果你的应用程序实际使用了Google REST API,那么这将更有意义,因为你的应用程序请求的身份验证令牌将提供对Google API的访问

但如果你所做的只是验证,你的用户可能会犹豫是否授权你的应用程序进行他们认为你不需要的谷歌操作


要了解OAuth 2.0消息流,您可以使用以下命令:

我真的建议您试一试,特别是将其与设计用于将服务器连接到客户端(如Android应用程序)的客户端相结合。使用端点,您将获得云基础设施+REST服务+本机库(适用于Android、JS和iOS),并且与身份验证相关的所有内容都已经整理好(通过OAuth)


appengine也可以使用Java开发,它已经与流行的ide集成,比如Eclipse(通过Google插件)和androidstudio(作为后端模块)因此,您可能拥有启动应用程序引擎服务器所需的一切。

那又如何?我可以想象,您的问题没有得到足够的重视,因为您不愿意自己做任何工作。你问这个问题已经两天了,没有新的信息表明你自己在研究或试图弄明白什么。你可以雇佣某人为你做研究和开发,但当你在这里提问时,最好自己尝试,遇到问题时,自己解决。这不是问题,这是缺乏研究。我不希望我的工作被别人完成。我只是想跟你走几步什么的。我需要建议。还有,当这个项目不是用于商业用途时,我为什么要雇佣人呢?如果我表达得不恰当,我很抱歉。我需要的是方法,而不是代码。如果我想自己做什么,我会回答我的问题。你知道如何登录facebook、g+等使用一些服务,例如从一些网页提供的服务。我想在我的应用程序中使用相同的设置。我想做的可能不需要用户注册就可以完成,但为了项目的未来发展,我可能希望用户能够相互连接。我不想让他们创建一个新的注册,所以你告诉我GAE、REST服务和云端点是一个很好的方法?是的,你可以实现自己的身份验证模式,或者使用第三方OAuth提供商,如G+或FB、github、twitter等。例如:。因此,您的用户不需要在您的站点上创建凭据。您可能需要存储OAuth密钥等等,但这对用户来说是完全透明的。我应该为我的服务器使用一些东西来创建RESTAPI,比如Jersey,还是Google提供了这些工具?很抱歉问,你不必回答这个问题,我可以自己搜索,我只是觉得如果你把它添加到你的答案中会很好。我正在考虑接受它。谢谢你的帮助。这就是我前面提到的谷歌云端点。您可以获得RESTAPI生成+API的免费ui+android、ios和js的本机libs。这是一款很棒的产品,但只能在应用程序引擎服务器上使用。我已经看到它只能在谷歌应用程序引擎上使用。因为它不是商业用途,所以不会有问题。谢谢:)