以前,为了使用 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
- 用户需要手动打开浏览器。
- 输入他的用户名和密码。
- 然后他将从浏览器中获取一个特殊的字符串,他需要在其中复制并粘贴到控制台。
我想我可以通过使用 Web 视图组件Integrating JavaFX 2.0 WebView into a Swing Java SE 6 Application来简化该过程,从而使上述任务自动化。
但是,当我关闭桌面 Swing 应用程序时,webview 的组件先前的历史会话将被销毁。用户每次启动桌面应用程序时都需要输入密码和用户名。
从适用于 Windows 的官方 Google Drive 应用程序中,我意识到它确实能够记住用户的最后一次身份验证。用户只需要输入他的用户名和密码一次。然后,即使重新启动计算机,他也可以一次又一次地使用 Google Drive 服务。
我可以知道如何实现类似的行为吗?