gpt4 book ai didi

android - Firebase 身份验证有效,但在使用 Google Text to Speech API 时出现错误

转载 作者:搜寻专家 更新时间:2023-11-01 09:23:47 25 4
gpt4 key购买 nike

我已经设置了一个小型 android 和 firebase 应用程序...身份验证就像一个魅力,在 firebase 控制台中,我可以看到我的用户,使用 Google 帐户登录。

现在我正在尝试使用 Text to Speech api 进行一些试验,在此过程中,我遵循了本教程:

https://github.com/GoogleCloudPlatform/java-docs-samples/tree/master/texttospeech/cloud-client

我设法通过设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量(我按照本教程执行此步骤:https://cloud.google.com/docs/authentication/getting-started)使小型 Java 应用程序正常工作,但我不确定我需要做什么才能使该代码在对用户进行身份验证的 Android 应用..

尝试调用 TextToSpeech API 时出现的错误是:

The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.

提到的错误来自行:

TextToSpeechClient textToSpeechClient = TextToSpeechClient.create();

出现此错误是因为在 android 模拟器上我无法访问在我的操作系统中设置为环境变量的凭据。所以我必须以另一种方式提供凭据。

对于其他 Google API,例如 Storage,我发现可以这样做:

// You can specify a credential file by providing a path to GoogleCredentials.
// Otherwise credentials are read from the GOOGLE_APPLICATION_CREDENTIALS environment variable.
GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream(jsonPath))
.createScoped(Lists.newArrayList("https://www.googleapis.com/auth/cloud-platform"));
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();

我设法用 json 文件的内容创建了 GoogleCredentials 对象,但是 TextToSpeech 客户端似乎没有提供与此类似的功能:

StorageOptions.newBuilder().setCredentials(credentials).build()

所以我的问题是......有没有办法向 TextToSpeech 客户端提供 Credentials 对象?

谢谢

最佳答案

目前,无法从 this page 向 TTS 客户端提供凭据。 .

由于安全/授权原因,我认为最好的建议方法是使用 Firebase Functions .

  1. 获取文本
  2. 调用 Firebase 函数
  3. 让 Firebase 函数调用 TTS API
  4. 返回结果。

这样,应用程序内部就不会泄露任何 key ,您可以使用 Firebase Auth。

如果有帮助,请告诉我!

更新:

选项 2:iOS Tutorial (应该适配安卓)

  1. 获取文本
  2. 调用 Firebase 函数
  3. 让 Firebase 函数返回一个 OAuth2 token
  4. 直接通过 API 使用 token

关于android - Firebase 身份验证有效,但在使用 Google Text to Speech API 时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52393225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com