Я разрабатываю приложение для iOS, которое переводит японские предложения на английский с помощью Google Translate API.
Я мог получить переведенные данные из API с помощью команды curl
, но теперь у меня возникают проблемы с получением данных с помощью Swift.
Ниже приведена команда curl
, которую я использовал.
curl -X POST \
> https://XXXXX.appspot.com/api/translate \
> -H 'Postman-Token: XXXXX' \
> -H 'cache-control: no-cache' \
> -H 'content-type: multipart/form-data; boundary=----XXXXX' \
> -F 'text=私はあなたが好きです。' \
> -F target_lang=en \
> -F text_lang=ja
Однако следующий код swift имеет nil
в result
.
let reqB: [String:Any] = ["text": text, "target_lang": "en", "text_lang": "ja"]
let reqBody = try? JSONSerialization.data(withJSONObject: reqB)
guard let reqUrl = URL(string: "https://XXXXX.appspot.com/api/translate") else {
return
}
var req = URLRequest(url: reqUrl)
req.httpMethod = "POST"
req.httpBody = reqBody
req.setValue("XXXXX", forHTTPHeaderField: "Postman-Token")
req.setValue("no-cache", forHTTPHeaderField: "cache-control")
req.setValue("multipart/form-data; boundary=----XXXXX", forHTTPHeaderField: "Content-Type")
let session = URLSession(configuration: .default, delegate: nil, delegateQueue: OperationQueue.main)
let task = session.dataTask(with: req, completionHandler: {
(data , response ,error) in
session.finishTasksAndInvalidate()
Кто-нибудь может мне помочь?