【发布时间】:2012-09-10 09:07:04
【问题描述】:
我们正在为 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 也没有。
网址长度略低于 250 个字符。
任何帮助将不胜感激!
【问题讨论】: