1

以前,为了使用 Google Drive 服务,我们使用 Google Documents List API 在桌面应用程序中使用以下简单的用户名和密码登录

DocsService client = new DocsService(getCloudApplicationName());
client.setUserCredentials(username, password);

正如 Google 公告中所述,https://developers.google.com/google-apps/documents-list/,Google Documents List API 的第 3 版已于 2012 年 9 月 14 日正式弃用。它将继续按照我们的弃用政策,但我们鼓励您迁移到 Google Drive API。

因此,在我们的桌面 Swing 应用程序中,我们需要重写代码以获得对 Google Drive 服务的身份验证。

通过参考在控制台运行的代码示例https://developers.google.com/drive/quickstart-java#step_3_set_up_the_sample

Please open the following URL in your browser then type the authorization code:
  https://accounts.google.com/o/oauth2/auth?access_type=online&client_id=888888888888.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&response_type=code&scope=https://www.googleapis.com/auth/drive
  1. 用户需要手动打开浏览器。
  2. 输入他的用户名和密码。
  3. 然后他将从浏览器中获取一个特殊的字符串,他需要在其中复制并粘贴到控制台。

在此处输入图像描述

我想我可以通过使用 Web 视图组件Integrating JavaFX 2.0 WebView into a Swing Java SE 6 Application来简化该过程,从而使上述任务自动化。

但是,当我关闭桌面 Swing 应用程序时,webview 的组件先前的历史会话将被销毁。用户每次启动桌面应用程序时都需要输入密码和用户名。

在此处输入图像描述

从适用于 Windows 的官方 Google Drive 应用程序中,我意识到它确实能够记住用户的最后一次身份验证。用户只需要输入他的用户名和密码一次。然后,即使重新启动计算机,他也可以一次又一次地使用 Google Drive 服务。

我可以知道如何实现类似的行为吗?

4

1 回答 1

2

您需要永久存储 Web 视图的 cookie,并在再次启动 Web 视图后再次设置它们。

于 2013-08-19T11:59:18.353 回答