2016-05-09 9 views
1

Der Versuch, eine kurze Version der URL mit GoogleShortener API zu erhalten. ich verwende AFNetworking 3.0 und ich bekomme diese Fehlermeldung: ‚ist ANYOBJECT kein Subtyp von‚NSProxy println‘Google URL-Verkürzung iOS

let manager = AFHTTPSessionManager() 
    manager.requestSerializer = AFJSONRequestSerializer() 
    let params = ["longUrl": "MYURL"] 


    manager.POST("https://www.googleapis.com/urlshortener/v1/url?key=MYKEY", parameters: params, success: {(operation: NSURLSession!,responseObject: AnyObject!) in 
     println("JSON" + responseObject.description) 
     }, 


       failure: { (operation: NSURLSession!,error: NSError!) in 
     println("Error while requesting shortened: " + error.localizedDescription) 
    }) 

es auf Linie markiert ist‚(‚JSON‘ + responseObject.description)‘ auf dem Betteln von 'beschreibung'.

+0

Um Klarheit, erhalten Sie einen Syntaxfehler? Oder ist es ein Fehler, wenn der Code ausgeführt wird? – Ollie

+1

@Ollie Typfehler sind zur Kompilierungszeit, nicht zur Laufzeit. – Moritz

+0

Es ist ein Syntaxfehler. Ich habe keinen API-Schlüssel in AppDelegate, kann es das Problem sein? – Magnifique

Antwort

0

Ich hatte den gleichen Fehler bei der Verwendung von AFNetworking 3. Die Dokumentation zeigte, dass es einige Änderungen gab. Aber hier ist der Code, den ich ausführen konnte. Hoffe es klappt.

let manager = AFHTTPSessionManager() 
manager.requestSerializer = AFJSONRequestSerializer() 
let params = ["longUrl": "MYURL"] 


manager.POST("https://www.googleapis.com/urlshortener/v1/url?key=MYKEY", parameters: params, success: {(operation: NSURLSessionDataTask!,responseObject: AnyObject?) in 
    print("JSON" + (responseObject?.description)!) 
    }, 


      failure: { (operation: NSURLSessionDataTask?,error: NSError) in 
    print("Error while requesting shortened: " + error.localizedDescription) 
}) 
0

Verwenden Sie diesen Code diese URL Siehe: http://cungcode.com/how-to-use-google-url-shortener-api-ios/

let manager = AFHTTPRequestOperationManager() 
    manager.requestSerializer = AFJSONRequestSerializer() 
    let params = ["longUrl": "YOUR_URL] 
    manager.POST("https://www.googleapis.com/urlshortener/v1/url?key=MYKEY", parameters: params, success: {(operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in 
     println("JSON: " + responseObject.description) 
      }, failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in 
     println("Error: " + error.localizedDescription) 
    }) 
+0

swift 3.0 kompatibel? – dylan

+0

Nein, es ist 2.2 kompatibel. Sie können es hinzufügen und Warnungen lösen, damit es automatisch konvertiert wird. – Pushkraj