使用Java和Oauth2对Google云端硬盘进行身份验证

时间:2014-07-26 13:39:29

标签: java google-oauth google-drive-api

我正在尝试创建一个跨平台的Java应用程序来与Drive上的用户文件进行交互。为此,我一直试图理解我一直在阅读的文档。

我已下载并安装了Google Java客户端库和适用于Java的Drive API客户端库,并且能够使Quickstart命令行应用程序正常运行,因此系统设置应该没问题。

现在,我正在尝试使用GUI应用程序。但是,似乎我见过的大多数示例都假设Web(客户端或服务器端),Android或iOS作为平台。我发现的几个看起来好像我应该能够在installed application中使用它的所有内容似乎都期望javax.servlet.http.HttpServletRequest类可用,但是从我能够做到的收集,这是一个服务器端Java EE类。

所以我的问题是:

  1. Java Google Drive和Oauth2 API是否可以在独立应用程序中使用?
  2. 如果是这样,我是否走在正确的轨道上?或者还有其他我尚未找到的文档吗?

1 个答案:

答案 0 :(得分:0)

是的,您可以在独立应用程序中使用Drive和OAuth2。最大的问题是,在某些时候,您的用户必须授权该应用程序。

当独立应用程序想要通过OAuth2获得授权时,标准方法是它会要求用户导航到URL(可选择它可以为他打开浏览器),验证授权请求,以及输入将由Google提供的密码。

当应用程序收到密码(通常是从浏览器复制粘贴到应用程序中的文本框)时,它必须进行HTTP调用以检索相应的刷新和访问令牌。

另一种选择是启动本地HTTP服务器以检索密码。这在the Google Plus Command Line Sample中得到证明。你检查过这个源代码吗?