Simple OAuth sample with foursquare
java | by: okoeth
posted: Mar, 21st 2010 | jump to bottom
package uk.co.koeth.foursquare.test; import java.io.InputStream; import javax.xml.parsers.DocumentBuilderFactory; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import org.w3c.dom.Document; import org.w3c.dom.Element; import oauth.signpost.OAuthConsumer; import oauth.signpost.commonshttp.CommonsHttpOAuthConsumer; public class Main { /** * The follwoing information can be obtained from: http://foursquare.com/oauth/ * Request Token URL: http://foursquare.com/oauth/request_token * Access Token URL: http://foursquare.com/oauth/access_token * Authorize URL: http://foursquare.com/oauth/authorize * Application Name: <app name> * Callback URL: <callback url> * Key: <key> * Secret: <secret> * * @param args */ public static void main(String[] args) throws Exception { org.apache.http.client.HttpClient httpClient = new DefaultHttpClient(); OAuthConsumer consumer = new CommonsHttpOAuthConsumer( "<key>", "<secret>"); HttpGet reqLogin = new HttpGet("http://api.foursquare.com/v1/authexchange?fs_username=<username>&fs_password=<password>"); consumer.sign(reqLogin); HttpResponse resLogin = httpClient.execute(reqLogin); if (resLogin.getEntity() == null) { System.out.println("FAILED TO CONNECT."); return; } Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(resLogin.getEntity().getContent()); Element eOAuthToken = (Element) document.getElementsByTagName("oauth_token").item(0); String sOAuthToken = eOAuthToken.getTextContent(); System.out.println("oauth_token:"+sOAuthToken); Element eOAuthTokenSecret = (Element) document.getElementsByTagName("oauth_token_secret").item(0); String sOAuthTokenSecret = eOAuthTokenSecret.getTextContent(); System.out.println("oauth_token_secret:"+sOAuthTokenSecret); consumer.setTokenWithSecret(sOAuthToken, sOAuthTokenSecret); HttpGet requestVenue = new HttpGet("http://api.foursquare.com/v1/venue?vid=426755"); consumer.sign(requestVenue); HttpResponse resVenue = httpClient.execute(requestVenue); if (resVenue.getEntity() == null) { System.out.println("FAILED TO LOAD VENUE."); } InputStream is = resVenue.getEntity().getContent(); for (int i = is.read(); i > -1; i = is.read()) { System.out.write(i); } } }
1427 views




