ios - 使用 Swift 和 Alamofire 从谷歌翻译中取回 nil

标签 ios swift google-translate alamofire

我正在尝试使用 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"
   }
  ]
 }
}

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

最佳答案

您应该获取的 URL 是:

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

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

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

关于ios - 使用 Swift 和 Alamofire 从谷歌翻译中取回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27639570/

相关文章:

c# - 访问 Google 翻译服务 (C# WinForms)

java - Android "Google Translation"以编程方式弹出

iphone - 获取对 UIPopoverController w/segues 的引用

iphone - 使用 iOS 获取 Facebook 新闻提要?

ios - 使用 iOS 6 或 iOS7 的受推崇版本创建导航栏

arrays - 在 Swift 中向可选数组添加元素

Swift 3 隐式解包选项导致错误的字符串插值

ios - 使用标签重新实例化 UITabBarItem

iOS ScrollView 需要约束 y 位置或高度

nlp - 创建单词词典并映射到其他语言