2016-06-23 5 views
0

Ich benutze API und bekomme JSON-Daten mit SwiftyJSON. Ich brauche ein Add-Token für die API. Wie kann ich das mit SwiftyJson tun?SwiftyJSON: Wie kann ich Token hinzufügen?

Mein Code:

lassen jsonData = (NSData (contentsOfURL: NSURL (string: "http://api.football-data.org/v1/soccerseasons/424/leagueTable")) als NSData)

var readableJSON = JSON(data: jsonData, options: .MutableContainers, error: nil) 

    let name = readableJSON["standings"] 

Normalerweise mit diesem Code Ich füge Token, wenn Ich benutze Swift's JSON:

let url = NSMutableURLRequest(URL: NSURL(string: "http://api.football-data.org/v1/soccerseasons/424/leagueTable")!) 
    url.addValue("mytokenishere", forHTTPHeaderField: "X-Auth-Token") 
    url.HTTPMethod = "GET" 

Antwort

0

Machst du einen Post/Put mit diesen Daten? Das wäre sinnvoll. Ich nehme an, Sie haben bereits die Anfrage gemacht, um die lesbaren Daten zu erhalten, die "jsonData" enthält. Da Sie die JSON-Daten nicht bereits haben, würde dies wahrscheinlich funktionieren.

var url = NSMutableURLRequest(URL: NSURL(string: "http://api.football-data.org/v1/soccerseasons/424/leagueTable")!) 
url.addValue("mytokenishere", forHTTPHeaderField: "X-Auth-Token") 
url.HTTPMethod = "GET" 
NSURLSession.sharedSession().dataTaskWithRequest(url, completionHandler: data, response, error in { 
    if error == nil { 
     var readableJSON = JSON(data: data, options: .MutableContainers, error: nil) 
     let name = readableJSON["standings"] 
     url.HTTPBody = try! name.rawData() 
     NSURLSession.sharedSession().dataTaskWithRequest(url, completionHandler: data, response, error in { 
      //do something with his response from getting the data 
     }) 
    } else { 
     print(error) 
    } 
}) 

Dies ist eine Art von Hacky Art und Weise, es zu tun, aber ich denke, sein, was Sie sich für

+0

Nein, ich Daten machen werde. Funktioniert das für GET? Tut mir leid, ich bin gerade nicht auf dem Macbook. – winnervswinner

+0

technisch ja, obwohl ich nicht sicher bin, wie ios diese Art von Sache behandelt: http://stackoverflow.com/questions/978061/http-get-with-request-body –

+0

Will 'readbleJSON' bekommen es auf diese Weise? Der URL-Wert wird nicht in 'jsonData' implementiert. Ist das ein Problem oder eine URL ist das gleiche und er wird das Token bekommen, weil die gleiche URL implementiert? Btw API funktioniert, aber es ist für Live-Apps erforderlich. Auch dieser Code funktioniert. – winnervswinner

Verwandte Themen