誰かが Android で Google Speech v1beta1 gRPC API の認証を行うサンプルを見せてもらえますか?
https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/speechでサンプル コードを実行しようとしています。
OSX および Eclipse 内で問題なく動作します。Android で試してみると、異なる結果が得られます。
具体的には、次の部分で:
private ManagedChannel createChannel(String host, int port) throws IOException {
try {
...
GoogleCredentials creds = ...
creds = creds.createScoped(OAUTH2_SCOPES);
ManagedChannel channel =
ManagedChannelBuilder.forAddress(host, port)
.intercept(new ClientAuthInterceptor(creds, Executors.newSingleThreadExecutor()))
.build();
ClientAuthInterceptor が非推奨であるという苦情があり、javadoc にio.grpc.auth
は「代わりに GoogleAuthLibraryCallCredentials を使用してください」と書かれています。これはhttps://github.com/grpc/grpc-javaからのものです。
OSX/Eclipse ではサンプル コードを「そのまま」使用していますが、Android ではファイルから JSON Google 資格情報を読み取っていますが、返される資格情報は似ているように見えます。
ありがとう!