私の会社のファイアウォール内のプロジェクトでGoogle音声APIを動作させるように設定しようとしています。Google Speech API資格のプロキシ認証
InputStream is = this.getClass().getResourceAsStream("/my-service-account.json");
CredentialsProvider credentialsProvider = FixedCredentialsProvider.create(ServiceAccountCredentials.fromStream(is));
SpeechSettings.Builder builder = SpeechSettings.newBuilder();
builder.setTransportProvider(SpeechSettings.defaultTransportProvider());
builder.setCredentialsProvider(credentialsProvider);
SpeechSettings settings = builder.build();
SpeechClient.create(settings);
を正しく外部のプロキシネットワークを動作し、スピーチセッションを認識を開始し、これを使用する:私は次のようSpeechSettingsを設定しています。しかし、プロキシ認証されたネットワークの下で何かを転記するのに失敗し、ApiStreamObserverクラスのUNAVAILABLE: Transport closed for unknown reason
というエラーでタイムアウトします。ファイアウォールタイムアウトのためにGrpc転送が閉じられていると思っています。
それは音声クライアントのセッションを作成しながら、プロキシ認証の資格情報を使用して認証することは可能ですか?ありがとう。
プロキシネットワークは、ユーザー名とパスワードを持つhttpプロキシです。 Google Cloud Platformでエンドポイントを使用したり、プロジェクトを実行したりすることはありません。私がapiに接続するのは、service-account jsonファイルを使用することだけです。 – swapp1990
いくつかの調査をした後、私はこの投稿からプロキシを設定する方法を見つけました:https://github.com/grpc/grpc-java/issues/2983。環境変数GRPC_PROXY_EXPを自分のプロキシurl:my.proxy.com:8080に設定すると、それは機能します。 – swapp1990