Я пытаюсь сформировать свой запрос к API облачного естественного языка Google на основе этого кода https://cloud.google.com/natural-language/reference/rest/v1/documents в Swift, но я не могу получить синтаксис правильно?Выполнение вызова Google Cloud API естественного языка с использованием Swift 3.0
import Foundation
import SwiftyJSON
class GoogleNaturalLanguageParser {
let session = URLSession.shared
var googleAPIKey = "XXX"
var googleURL: URL {
return URL(string: "https://language.googleapis.com/v1/documents:analyzeEntities?key=\(googleAPIKey)")!
}
//TODO: Add document
private func createRequest(with text: String, handler: @escaping (String) -> Void) {
// Create our request URL
var request = URLRequest(url: googleURL)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.addValue(Bundle.main.bundleIdentifier ?? "", forHTTPHeaderField: "X-Ios-Bundle-Identifier")
// Build our API request
let jsonRequest = [
"requests": [
["encodingType": "UTF8",
"document": [
"type": "PLAIN_TEXT",
"content": text
]
]
]
]
let jsonObject = JSON(jsonDictionary: jsonRequest)
//let jsonObject = JSONSerialization.jsonObject(with: jsonRequest, options: []) as? [String : Any]
// Serialize the JSON
guard let data = try? jsonObject.rawData() else {
return
}
request.httpBody = data
// Run the request on a background thread
DispatchQueue.global().async { self.runRequestOnBackgroundThread(request, handler: { (result) in
handler(result)
}) }
}
}
Поскольку вы получаете 404, хороший способ отладки это на самом деле сбросить URL вы формируете и сравниваете его с тем, который вы пытаетесь сформировать. – Adam