2017-03-22 2 views
0

Ich habe Probleme beim Konvertieren in Swift, jede Hilfe wäre willkommen!Konvertieren von CURL in Swift

curl https://api.stripe.com/v1/accounts \ 
-u {PLATFORM_SECRET_KEY}: \ 
-d country=US \ 
-d managed=true 
+0

Sie sollten nicht API-Anforderungen mit Ihren geheimen API-Schlüsseln direkt von einer mobilen App senden, wie man es riskieren, den geheimen Schlüssel auszusetzen. Diese Anfragen sollten von einem Backend-Server gesendet werden. (Aus diesem Grund stellt Stripe keine Swift-Beispiele für diese Anfragen bereit.) – Ywain

Antwort

1

Sie sollten in der Lage sein, so etwas zu verwenden:

let sessionConfig = URLSessionConfiguration.default 
    let session = URLSession(configuration: sessionConfig, delegate: nil, delegateQueue: nil) 

    guard let URL = URL(string: "https://api.stripe.com/v1/accounts") else {return} 
    var request = URLRequest(url: URL) 
    let params = "managed=true&country=us" 
    request.httpBody = params.data(using: .utf8, allowLossyConversion: true) 

    /* Start a new Task */ 
    let task = session.dataTask(with: request, completionHandler: { (data: Data?, response: URLResponse?, error: Error?) -> Void in 
     if (error == nil) { 
      // Success 
      let statusCode = (response as! HTTPURLResponse).statusCode 
      print("URL Session Task Succeeded: HTTP \(statusCode)") 
     } 
     else { 
      // Failure 
      print("URL Session Task Failed: %@", error!.localizedDescription); 
     } 
    }) 
    task.resume() 
+0

Vielen Dank, vielen Dank dafür! Ich habe eine Frage, wo würde {PLATFORM_SECRET_KEY} hingehen? Füge ich es einfach in die URL-Zeichenfolge ein? @ Fahim –

+0

Dieser Teil würde auf den Authentifizierungsmechanismus abhängen. Normalerweise glaube ich, dass Sie ein verschlüsseltes Passwort anstelle von reinem Text senden würden. Wenn Sie das selbst herausfinden möchten, können Sie dieser App einen Versuch geben: https://paw.cloud/ Wenn das obige half, können Sie bitte die Antwort als "richtig" markieren? – Fahim