2016-05-09 1 views
1

Recherche d'une version courte d'URL à l'aide de l'API GoogleShortener. J'utilise 3.0 AFNetworking et je reçois cette erreur: « ANYOBJECT n'est pas un sous-type de « NSProxy »Réducteur d'URL de Google 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) 
    }) 

il est mis en évidence sur la ligne « println (« JSON » + responseObject.description) » sur la mendicité de 'description'.

+0

Pour la clarté, obtenez-vous une erreur de syntaxe? Ou est-ce une erreur lorsque le code est exécuté? – Ollie

+1

@Ollie Les erreurs de type sont au moment de la compilation, pas au moment de l'exécution. – Moritz

+0

C'est une erreur de syntaxe. Je n'ai pas la clé d'API dans AppDelegate, peut-il être le problème? – Magnifique

Répondre

0

J'ai eu la même erreur lors de l'utilisation AFNetworking 3. Documentation a indiqué qu'il y avait quelques changements. Cependant, voici le code que j'ai pu utiliser. J'espère que ça fonctionne.

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

Utilisez ce code Reportez-vous cette URL: 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 compatible? – dylan

+0

Non, son 2.2 compatible. Vous pouvez l'ajouter et résoudre les avertissements afin qu'il soit converti automatiquement. – Pushkraj