bigquery用のオープンソースのjdbcドライバーを作成していて、次の問題が発生しました。
インストールされたアプリケーションとしてOauth2を使用してドライバーを承認したいと思います。Windows XP、Windows 7 x64、Windows 7 x64 + RDPでは、正常に動作します。しかし、Windows Server 2008 R2 + RDPであるテストベンチでは、失敗します。
基本的に、Webブラウザーを開き、彼がログインし、応答をキャッチして、ユーザーを認証します。
URLを開くためのコードは次のとおりです。
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文字弱です。
どんな援助もいただければ幸いです!