FourSquare permette tramite le sue API di accedere ad tutta una serie di funzionalità (molte in questa versione 1) direttamente dalle nostre applicazioni iPhone. Vediamo, quindi, come integrare l’accesso a FourSquare in Objective-C usando il noto framework ASIHTTPRequest per effettuare l’autenticazione base.
Cosa serve?
Prima di passare all’esempio di codice, che è davvero semplice, dovete munirvi di due framework esterni:
Le istruzioni su come inserirli nel codice sono nei rispettivi siti, comunque sia sono davvero facili da inserire in quanto si presentano entrmbi sotto forma di sorgenti Objective-C, quindi basta includerli nel nostro progetto.
Connessione
La connessione al server FourSquare può essere effettuata in due modi: modalità base o OAuth. La OAuth Authentication è quella raccomandata ma un po’ più articolata da implementare. Così qui utilizzeremo la più semplice:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // FourSquare endpoint API NSURL *url = [NSURL URLWithString:@"http://api.foursquare.com/v1/user.json"]; request = [ASIHTTPRequest requestWithURL:url]; // Le tue credenziali di accesso [request setUsername:@"username"]; [request setPassword:@"password"]; [request startSynchronous]; NSError *error = [request error]; if (!error) { NSString *response = [request responseString]; // Converto il risultato in JSON NSDictionary *results = [response JSONValue]; NSLog(@"%@", results); } |
L’esempio qui sopra mostra come effettuare il login a FourSquare e ottenere (in JSON) le informazioni sulla nostra utenza, nel formato:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | { user:{ id:33, firstname:'Naveen', lastname:'Selvadurai', photo:'http://foursquare.com/userpix/33_1235974851.jpg', gender:'male', phone:2129103995, email:'n@naveen.com', twitter:'naveen', facebook:29103995, friendstatus:'friend', checkin:{ id:413421, created:'Mon, 29 Jun 09 14:21:06 +0000', venue:{ id:45506, name:'4SQ HQ - Soho', address:'...', crossstreet:'btw Grand & Broome', city:'New York', state:'NY', zip:10013 } }, badges:[ { name:'Newbie', icon:'http://foursquare.com/img/badge/newbie_on.png', description:'Congrats on your first check-in!' } Response for 'self' authenticated (truncated): { user:{ id:33, ... settings:{ sendtotwitter:'false', sendtofacebook:'false', pings:'on' } |
I vari endpoint (cioè le API), che permettono di eseguire un check-in, visualizzare gli amici o la nostra history, sono elencati nella documentazione. I parametri, invece, sono inviati in GET. Ad esempio quando richiediamo le informazioni sulla nostra utenza, come nell’esempio di prima, possiamo richiedere anche i badges che per default non vengono mostrati. Per fare questo basta modificare la riga dell’endpoint:
Scarica sorgenti e demo
Cliccate qui per scaricare la demo visualizzata qui sotto:









4
Non ci sono commenti per questo Post
Lascia un commento