我正在尝试将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一样。