2017-09-11 21 views
0

私の会社のファイアウォール内のプロジェクトで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転送が閉じられていると思っています。

それは音声クライアントのセッションを作成しながら、プロキシ認証の資格情報を使用して認証することは可能ですか?ありがとう。

答えて

0

使用しているプロキシネットワークを明確にすることはできますか? Google Cloud Endpoints(https://cloud.google.com/endpoints)を使用していますか?あなたのプロジェクトはGoogle Cloud Platformで動作していますか?もしそうなら、どのような特定のプラットフォームですか? App Engine Flex? App Engine Standard?計算エンジン?コンテナエンジン?

+0

プロキシネットワークは、ユーザー名とパスワードを持つhttpプロキシです。 Google Cloud Platformでエンドポイントを使用したり、プロジェクトを実行したりすることはありません。私がapiに接続するのは、service-account jsonファイルを使用することだけです。 – swapp1990

+0

いくつかの調査をした後、私はこの投稿からプロキシを設定する方法を見つけました:https://github.com/grpc/grpc-java/issues/2983。環境変数GRPC_PROXY_EXPを自分のプロキシurl:my.proxy.com:8080に設定すると、それは機能します。 – swapp1990

関連する問題