调用Google翻译API的listSupportedLanguages()报400错误求助
问题分析与解决方案
核心原因
你遇到的问题大概率是客户端库版本未适配新增语言导致的:
- Google Translation API新增的24种语言(包括班巴拉语'bm')发布时间晚于你使用的2.11.0版本客户端库,旧版本库未将这些新增语言代码加入
targetLanguage参数的合法校验列表,因此调用时触发"无效目标语言"错误。 - 部分新增语言可能仅开放了源语言翻译能力,暂时不支持作为目标语言用于获取语言列表的接口调用,但根据官方文档描述,这种情况属于少数。
可行解决方案
- 升级客户端库版本:将Google Cloud Translate Java客户端库升级到最新稳定版,新版本会同步支持这些新增语言的参数校验。
- 绕过target参数限制:如果暂时无法升级,可以不指定
targetLanguage参数,直接调用listSupportedLanguages()获取所有支持的语言;或者使用一个已被旧版本库认可的语言(如'en')作为target,返回的列表中会包含新增语言的信息。 - 直接调用REST API验证:手动构造GET请求(携带你的API密钥)测试,若REST请求能正常返回,说明确实是客户端库版本问题,升级即可解决。
临时替代代码示例
// 不指定target,获取全量支持语言 List<Language> languages = translate.listSupportedLanguages(); // 或使用已支持的语言作为target参数 List<Language> languages = translate.listSupportedLanguages( Translate.LanguageListOption.targetLanguage("en"));
内容的提问来源于stack exchange,提问作者Valeriia
相关产品推荐
相关产品推荐

