1

我正在尝试使用 Alamofire 来使用 Google Translate api。

这是我尝试使用的代码:

    let textToTranslate = "你好"

    let parameters = ["key":"MY_PRIVATE_IOS_APP_KEY","q":"\(textToTranslate)",
        "source":"zh-CN","target":"en"]

    Alamofire.request(.GET, "https://www.googleapis.com/language/translate/v2/languages", parameters:parameters)
        .responseJSON
        { (_, _, JSON, _) -> Void in

         let translatedText: String? = JSON?.valueForKeyPath("data") as String?
         println(translatedText)
        }

控制台不断打印nil

此外,在 Google Translate API 使用报告中,它说我有“客户端错误”。

这是我在浏览器中尝试时得到的输出:

{
 "data": {
  "translations": [
   {
    "translatedText": "hello"
   }
  ]
 }
}

我错过了什么或做错了什么?

4

2 回答 2

1

您应该获取的 URL 是:

https://www.googleapis.com/language/translate/v2?parameters

在您的代码中,我看到了 URL:

https://www.googleapis.com/language/translate/v2/languages?parameters

于 2015-04-21T15:15:34.090 回答
0

如果您愿意,您可以使用 POST 请求,您必须像在docs中一样在 URL 上提供密钥。

发布https://translation.googleapis.com/language/translate/v2?key=YOUR_API_KEY

然后发送您的请求

于 2017-07-26T07:40:31.460 回答