我们正在为 bigquery 编写一个开源 jdbc 驱动程序,并遇到了以下问题:
我们想授权我们的驱动程序使用 Oauth 2 作为已安装的应用程序。在 windows xp、windows 7 x64、windows 7 x64 + RDP 上运行良好。但是在 Windows Server 2008 R2 + RDP 的测试平台上它失败了。
基本上,我们打开一个网络浏览器,他登录,我们捕捉到回复,并对用户进行身份验证。
这是网址打开的代码:
private static void browse(String url) {
// first try the Java Desktop
logger.debug("First try the Java Desktop");
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
if (desktop.isSupported(Action.BROWSE))
try {
desktop.browse(URI.create(url));
return;
} catch (IOException e) {
// handled below
}
}
// Next try rundll32 (only works on Windows)
logger.debug("Try the rundll32");
try {
Runtime.getRuntime().exec(
"rundll32 url.dll,FileProtocolHandler " + url);
return;
} catch (IOException e) {
// handled below
}
// Next try browsers
logger.debug("Try with browsers");
BareBonesBrowserLaunch.openURL(url);
}
我想出的是:BareBonesBrowserLaunch 没有打开链接,FileProtocolHandler 也没有。
URL 长度略低于 250 个字符。
任何援助将不胜感激!