Ich habe den folgenden Curl-Befehl, der in der Befehlszeile funktioniert, aber ich kann es nicht in Swift schreiben.Wie schreibe ich Curl-Befehl in Swift mit Alamofire?
Wenn ich versuche, dies in Alamofire zu übersetzen, erhalte ich immer einen Fehler vom Server. Also ich nehme an, dass die Auth funktioniert gut, aber etwas mit dem Parameter ist nicht korrekt, da ich 5 Parameter an den Server senden muss. Wie kann ich das genau machen? Hier
ist der Code-Schnipsel:
func loginWithFacebook(loginEmail: String, facebookId: String, accessToken: String,familyName: String, givenName: String, completionHandler: (AnyObject?, NSError?) ->()) {
//Basic HTTP auth
let user = "web"
let password = "web"
// let headers = ["Authorization": "Basic \(base64Credentials)"] not working
// let headers = ["web": "web"] not working
//example for a nested array query
let parameters = [
"loginEmail": loginEmail,
"facebookId": facebookId,
"accessToken": accessToken,
"familyName": familyName,
"givenName": givenName
]
Alamofire.request(
.POST,
loginWithFacebook,
parameters: parameters
)
.responseJSON { response in
switch response.result {
case .Success(let value):
completionHandler(value, nil)
case .Failure(let error):
completionHandler(nil, error)
}
}
.authenticate(user: user, password: password)
}
ich diese Methode auf folgende Weise aufrufen:
self.restApi.loginWithFacebook(email, facebookId: facebookId, accessToken: accessToken, familyName: familyName, givenName: firstName) {responseObject, error in
print("responseobject printed loginUserWithFacebook() ")
print(responseObject)
print("error printed")
print(error)
//get the JSON object
let response = responseObject as? [String:AnyObject]
print("response")
print(response)
//parse down the first layer of JSON object which is an NSDictionary (sometimes it is [AnyObject])
if let result = response!["result"] as? [String: AnyObject]
{
print("self.result.count after calling loginUserWithFacebook()")
print(result.count)
print(result)
// self.getProfileFromUser()
}
}
Der Fehler Antwort vom Server:
responseobject printed loginUserWithFacebook()
Optional({
info = "Required fields missing.";
result = {
};
})
Vielen Dank! Das funktioniert großartig. –