【问题标题】:Invalid value (400) using google translate api使用谷歌翻译 api 的无效值 (400)
【发布时间】:2021-02-25 08:17:38
【问题描述】:

我的请求有什么问题?

我有俄语刺痛: $string = Потенциал, %

我想用谷歌 API 把它翻译成乌克兰语:

我 urlencode 字符串:

$q = urlencode($string)

我请求谷歌 API:

https://www.googleapis.com/language/translate/v2?q=%D0%9F%D0%BE%D1%82%D0%B5%D0%BD%D1%86%D0%B8%D0%B0%D0%BB%2C%20%25&target=ua&source=ru&key=A...

作为回应,我得到:

{
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Value"
   }
  ],
  "code": 400,
  "message": "Invalid Value"
 }
}

我的请求有什么问题?

【问题讨论】:

  • 您的api密钥无效?
  • api key 没问题,我只是没贴在这里)

标签: google-api google-translate google-api-php-client


【解决方案1】:

解决方案很简单。 Google 有 UK 乌克兰字母,而不是 UA

【讨论】:

  • 我也有同样的情况,但我用的是“kr”或韩国而不是“ka”。 (这有点疯狂,因为 Google Cloud Natural Language API 对韩国使用“kr”,我只是假设这两个 API 在选择两个字母的国家/地区代码时是标准化的。这应该得到修复......)
  • 国家代码与语言代码不同。韩语是“ko”。 en.wikipedia.org/wiki/…
【解决方案2】:

目标应该是 uk 而不是 ua。我认为它会解决问题。

【讨论】:

    【解决方案3】:

    在我的例子中,我试图翻译为“es-uy”,但尽管是有效的language code,但 Google 不支持它。

    以下是 API 支持的语言代码: https://cloud.google.com/translate/docs/languages

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-02-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-06
      • 2011-12-26
      • 1970-01-01
      • 2022-06-12
      相关资源
      最近更新 更多