在JavaFX中使用Google云端硬盘选择器

时间:2018-06-08 23:16:25

标签: javascript javafx webview google-drive-api google-picker

我正在尝试将Google中的Picker API嵌入到我的JavaFX应用程序中,以便允许我的用户从其驱动器中选择一个文件,以便我的应用程序可以执行有关该文件文本的过程。

我之前使用Google Drive API列出了用户可以在this tutorial之后在TreeTableView中选择的所有文件。然后用户将选择所需文件,我会在我的应用程序中找到其关联的文件ID,将其导出到输出流...最终接收文档中涉及的文本。由于这未嵌入WebView,因此外部启动了权限请求(似乎Google Drive API会执行此操作)。

然而,Picker API看起来更具吸引力,因为选择的GUI已经可用并且更加直观。我跟着this tutorial,当我在本地主机上运行相关的HTML文件时,我可以成功选择一个文件。但是,当我将此HTML嵌入到Java WebView中时,在单击Authenticate按钮后,将不会出现用于请求我的应用程序查看驱动器文件(OAuth)的权限的弹出窗口。此权限请求之前已在外部启动。现在情况并非如此,因为我将JavaScript中的整个过程嵌入到WebView中,而不是Java本身。

我试图在iframe中使用WebView并在该框架中嵌入Picker API弹出窗口(允许用户选择文件),而不是通过接收视图来覆盖视图选择器的关联网址并将iframe src设置为该网址,但是这并未显示允许显示权限的请求。

我有什么方法可以让用户在我的JavaFX应用程序中选择带有Google Picker的文件吗?我愿意在外部浏览器中加载html文件,其中JavaScript和Java程序之间存在桥梁,或直接将选择器UI放在我的WebView中。但是,在这两种情况下,必须启动用于请求我的应用程序许可的窗口,就像之前使用Google Drive API一样。

0 个答案:

没有答案