You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android调用Google Cloud Speech-to-Text API认证失败求助

解决方案

1. 确认服务账号密钥文件有效性

确保下载的是服务账号JSON密钥文件:

  • 进入Google Cloud控制台的服务账号页面,找到目标账号后切换到「密钥」标签
  • 点击「添加密钥」→「创建新密钥」,选择「JSON」格式下载
  • 检查JSON文件,确认包含type(值为service_account)、client_email、private_key等必填字段,若缺失则重新生成

2. 修正代码中的凭证初始化逻辑

当前代码的凭证加载方式存在问题,需明确指定API权限并使用正确的Provider:

// 加载并初始化凭证
val credentialsStream = resources.openRawResource(R.raw.credentials)
val credentials = GoogleCredentials.fromStream(credentialsStream)
    .createScoped(listOf("https://www.googleapis.com/auth/cloud-platform"))

// 构建SpeechSettings并创建客户端
val speechSettings = SpeechSettings.newBuilder()
    .setCredentialsProvider(FixedCredentialsProvider.create(credentials))
    .build()

val speechClient = SpeechClient.create(speechSettings)

3. 配置服务账号权限

确保服务账号拥有Speech API的调用权限:

  • 在Google Cloud控制台的IAM页面,找到对应服务账号
  • 点击「编辑」,添加Cloud Speech-to-Text Editor或Cloud Speech-to-Text Admin角色,保存后等待1-2分钟让权限生效

4. POC场景额外提醒

  • 即使是POC,也不建议将密钥文件直接打包进APK,正式环境必须通过后端代理调用API
  • 测试时确保设备网络能正常访问Google Cloud服务,避免因网络限制导致认证失败

内容的提问来源于stack exchange,提问作者android enthusiast

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 09:59:55