我已经成功地通过 GRPC 使用流模式下的服务帐户让 Google Cloud Speech 适用于我的 Android 应用程序。但是,根据我所读到的内容,出于安全原因,我不应该部署包含这些凭据(当前作为 JSON 文件存储在资源中)的 Android 应用程序。正确的做法是创建 API 密钥,如下所述:https://cloud.google.com/speech/docs/common/auth https://cloud.google.com/speech/docs/common/auth
这允许我限制对我的特定 Android 应用程序的访问。但是,我一直无法找到如何使用 GRPC 的 API Key。我目前正在创建一个GoogleCredentials
来自 JSON 文件的实例,效果很好。如何从 API 密钥获取凭证对象?
您可以使用 API 密钥尝试此操作
Metadata.Key<String> API_KEY = Metadata.Key.of("x-goog-api-key", Metadata.ASCII_STRING_MARSHALLER);
Metadata apiKeyMetadata = new Metadata();
apiKeyMetadata.put(API_KEY, yourApiKey);
final ManagedChannel channel = new OkHttpChannelProvider()
.builderForAddress(HOSTNAME, PORT)
.nameResolverFactory(new DnsNameResolverProvider())
.intercept(MetadataUtils.newAttachHeadersInterceptor(apiKeyMetadata))
.build();
speechStub = SpeechGrpc.newStub(channel);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)