From 45a0f968408e2ca825b211f6d730c5daa5a69b20 Mon Sep 17 00:00:00 2001 From: Pablo Fernandez Date: Mon, 6 Sep 2010 15:02:10 -0300 Subject: [PATCH] Added Foursquare example --- README.textile | 2 - .../org/scribe/builder/api/FoursquareApi.java | 4 +- .../scribe/examples/FoursquareExample.java | 61 +++++++++++++++++++ 3 files changed, 63 insertions(+), 4 deletions(-) create mode 100644 src/test/java/org/scribe/examples/FoursquareExample.java diff --git a/README.textile b/README.textile index ce5d672..6af42b6 100644 --- a/README.textile +++ b/README.textile @@ -30,8 +30,6 @@ h3. Supports all major OAuth APIs out-of-the-box * Twitter -* Salesforce - * Foursquare * and many more! check the "examples folder":http://github.com/fernandezpablo85/scribe-java/tree/master/src/test/java/org/scribe/examples diff --git a/src/main/java/org/scribe/builder/api/FoursquareApi.java b/src/main/java/org/scribe/builder/api/FoursquareApi.java index a48b6ee..2d5b5a8 100644 --- a/src/main/java/org/scribe/builder/api/FoursquareApi.java +++ b/src/main/java/org/scribe/builder/api/FoursquareApi.java @@ -5,12 +5,12 @@ public class FoursquareApi extends DefaultApi10a @Override public String getAccessTokenEndpoint() { - throw new UnsupportedOperationException(); + return "http://foursquare.com/oauth/access_token"; } @Override public String getRequestTokenEndpoint() { - throw new UnsupportedOperationException(); + return "http://foursquare.com/oauth/request_token"; } } diff --git a/src/test/java/org/scribe/examples/FoursquareExample.java b/src/test/java/org/scribe/examples/FoursquareExample.java new file mode 100644 index 0000000..083f914 --- /dev/null +++ b/src/test/java/org/scribe/examples/FoursquareExample.java @@ -0,0 +1,61 @@ +package org.scribe.examples; + +import java.util.Scanner; + +import org.scribe.builder.*; +import org.scribe.builder.api.*; +import org.scribe.model.*; +import org.scribe.model.Request.*; +import org.scribe.oauth.*; + +public class FoursquareExample +{ + private static final String AUTHORIZE_URL = "http://foursquare.com/oauth/authorize?oauth_token="; + private static final String PROTECTED_RESOURCE_URL = "http://api.foursquare.com/v1/user"; + + public static void main(String[] args) + { + OAuthService service = new ServiceBuilder() + .provider(FoursquareApi.class) + .apiKey("FEGFXJUFANVVDHVSNUAMUKTTXCP1AJQD53E33XKJ44YP1S4I") + .apiSecret("AYWKUL5SWPNC0CTQ202QXRUG2NLZYXMRA34ZSDW4AUYBG2RC") + .build(); + Scanner in = new Scanner(System.in); + + System.out.println("=== Foursquare's OAuth Workflow ==="); + System.out.println(); + + // Obtain the Request Token + System.out.println("Fetching the Request Token..."); + Token requestToken = service.getRequestToken(); + System.out.println("Got the Request Token!"); + System.out.println(); + + System.out.println("Now go and authorize Scribe here:"); + System.out.println(AUTHORIZE_URL + requestToken.getToken()); + System.out.println("And paste the verifier here"); + System.out.print(">>"); + Verifier verifier = new Verifier(in.nextLine()); + System.out.println(); + + // Trade the Request Token and Verfier for the Access Token + System.out.println("Trading the Request Token for an Access Token..."); + Token accessToken = service.getAccessToken(requestToken, verifier); + System.out.println("Got the Access Token!"); + System.out.println("(if your curious it looks like this: " + accessToken + " )"); + System.out.println(); + + // Now let's go and ask for a protected resource! + System.out.println("Now we're going to access a protected resource..."); + OAuthRequest request = new OAuthRequest(Verb.GET, PROTECTED_RESOURCE_URL); + service.signRequest(accessToken, request); + Response response = request.send(); + System.out.println("Got it! Lets see what we found..."); + System.out.println(); + System.out.println(response.getBody()); + + System.out.println(); + System.out.println("Thats it man! Go and build something awesome with Scribe! :)"); + } + +} \ No newline at end of file