そのため、Java APIを使用してYouTubeチャンネルにビデオをアップロードするサーブレットを作成したいのですが、プロキシサーバーを経由することを指定する方法が見つからないようです。このサイトで誰かがC#を使用してこれを行うことができた例を見ましたが、彼らが使用したクラスはJavaAPIに存在しないようです。誰かがこれをうまくやることができましたか?
YouTubeServiceサービス=新しいYouTubeService(clientID、developerKey);
そのため、Java APIを使用してYouTubeチャンネルにビデオをアップロードするサーブレットを作成したいのですが、プロキシサーバーを経由することを指定する方法が見つからないようです。このサイトで誰かがC#を使用してこれを行うことができた例を見ましたが、彼らが使用したクラスはJavaAPIに存在しないようです。誰かがこれをうまくやることができましたか?
YouTubeServiceサービス=新しいYouTubeService(clientID、developerKey);
私はここで新しいので、投稿にコメントすることはできません(そしてこのトピックについて少し遅れています)が、ジェスパー、これは元の投稿者が話していたC#サンプルだと思います:APIを使用してYouTubeにアップロードする方法プロキシサーバー経由
ただし、GDataRequestFactoryにはプロキシ関連のフィールドがないように見えるため、その例をJavaに移植する「直接的な」方法はわかりません。
また、アプリケーションでプロキシを使用するJavaクライアントライブラリで問題が発生していました。基本的に、ライブラリはグローバルJavaプロキシ設定を取得します。
System.getProperty("http.proxyHost");
System.getProperty("http.proxyPort");
しかし、何らかの理由でどこにでもあるわけではありません。より正確には、Javaで適切に構成されたプロキシサーバーを使用しても、YouTube認証(service.setUserCredentials( "login"、 "pwd"))は直接接続を使用し、プロキシを無視します。ただし、ビデオのアップロード(service.insert(...)を呼び出す)はプロキシを正しく使用します。
公式のYouTubeAPIメーリングリストの人々の助けを借りて、私はこれを突き止めることができました。問題は、認証がSSL(HTTPS)を使用して実行され、HTTPSプロキシのプロパティのセットが異なるため、これが機能しなかったことです。修正は、 ( http.proxy *に加えて) https.proxy *プロパティも設定するだけで、これらも有効なプロキシサーバーを指すようになります。
System.getProperty("https.proxyHost");
System.getProperty("https.proxyPort");