From 9c631674d210eda50d373826eb0920f2496b6ca9 Mon Sep 17 00:00:00 2001 From: Dhruv Chandna Date: Thu, 29 Mar 2012 14:28:44 -0500 Subject: [PATCH 1/6] Added support for 500px.com. Also removed the '@Override' annotation from JsonTokenExtractor.java --- .../java/org/scribe/builder/api/Px500Api.java | 26 ++++++++ .../org/scribe/examples/Px500Example.java | 64 +++++++++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 src/main/java/org/scribe/builder/api/Px500Api.java create mode 100644 src/test/java/org/scribe/examples/Px500Example.java diff --git a/src/main/java/org/scribe/builder/api/Px500Api.java b/src/main/java/org/scribe/builder/api/Px500Api.java new file mode 100644 index 0000000..7427aad --- /dev/null +++ b/src/main/java/org/scribe/builder/api/Px500Api.java @@ -0,0 +1,26 @@ +package org.scribe.builder.api; + +import org.scribe.model.Token; + +public class Px500Api extends DefaultApi10a +{ + private static final String AUTHORIZATION_URL = "https://api.500px.com/v1/oauth/authorize?oauth_token=%s"; + + @Override + public String getAccessTokenEndpoint() + { + return "https://api.500px.com/v1/oauth/access_token"; + } + + @Override + public String getRequestTokenEndpoint() + { + return "https://api.500px.com/v1/oauth/request_token"; + } + + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format(AUTHORIZATION_URL, requestToken.getToken()); + } +} diff --git a/src/test/java/org/scribe/examples/Px500Example.java b/src/test/java/org/scribe/examples/Px500Example.java new file mode 100644 index 0000000..d1b24ec --- /dev/null +++ b/src/test/java/org/scribe/examples/Px500Example.java @@ -0,0 +1,64 @@ +package org.scribe.examples; + +import java.util.Scanner; + +import org.scribe.builder.ServiceBuilder; +import org.scribe.builder.api.Px500Api; +import org.scribe.model.OAuthRequest; +import org.scribe.model.Response; +import org.scribe.model.Token; +import org.scribe.model.Verb; +import org.scribe.model.Verifier; +import org.scribe.oauth.OAuthService; + +public class Px500Example +{ + private static final String PROTECTED_RESOURCE_URL = "https://api.500px.com/v1/"; + + public static void main(String[] args) + { + OAuthService service = new ServiceBuilder() + .provider(Px500Api.class) + .apiKey("your-api-key") + .apiSecret("your-api-secret") + .build(); + Scanner in = new Scanner(System.in); + + System.out.println("=== 500Px'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(service.getAuthorizationUrl(requestToken)); + 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 From 4aa62564872d9c7a1c494eba507fbbc6f99469d1 Mon Sep 17 00:00:00 2001 From: Dhruv Chandna Date: Fri, 30 Mar 2012 09:34:29 -0500 Subject: [PATCH 2/6] Removed the @Override annotation as it resulted in a compilation error. --- src/main/java/org/scribe/extractors/JsonTokenExtractor.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/org/scribe/extractors/JsonTokenExtractor.java b/src/main/java/org/scribe/extractors/JsonTokenExtractor.java index 7c1ee04..5bec423 100644 --- a/src/main/java/org/scribe/extractors/JsonTokenExtractor.java +++ b/src/main/java/org/scribe/extractors/JsonTokenExtractor.java @@ -10,7 +10,6 @@ public class JsonTokenExtractor implements AccessTokenExtractor { private Pattern accessTokenPattern = Pattern.compile("\"access_token\":\\s*\"(\\S*?)\""); - @Override public Token extract(String response) { Preconditions.checkEmptyString(response, "Cannot extract a token from a null or empty String"); From 92ffe2cc039dcf164ddcb04e8cdf801e3d857546 Mon Sep 17 00:00:00 2001 From: Dhruv Chandna Date: Fri, 30 Mar 2012 09:38:41 -0500 Subject: [PATCH 3/6] Removed new line at the end of the file --- src/main/java/org/scribe/builder/api/Px500Api.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/scribe/builder/api/Px500Api.java b/src/main/java/org/scribe/builder/api/Px500Api.java index 7427aad..b033f61 100644 --- a/src/main/java/org/scribe/builder/api/Px500Api.java +++ b/src/main/java/org/scribe/builder/api/Px500Api.java @@ -23,4 +23,4 @@ public class Px500Api extends DefaultApi10a { return String.format(AUTHORIZATION_URL, requestToken.getToken()); } -} +} \ No newline at end of file From dbc1bd9c858f4c6f7efce1fa2f04a5d9a87b5e36 Mon Sep 17 00:00:00 2001 From: Dhruv Chandna Date: Fri, 30 Mar 2012 09:39:42 -0500 Subject: [PATCH 4/6] Used * imports --- src/test/java/org/scribe/examples/Px500Example.java | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/test/java/org/scribe/examples/Px500Example.java b/src/test/java/org/scribe/examples/Px500Example.java index d1b24ec..b810b8a 100644 --- a/src/test/java/org/scribe/examples/Px500Example.java +++ b/src/test/java/org/scribe/examples/Px500Example.java @@ -4,11 +4,7 @@ import java.util.Scanner; import org.scribe.builder.ServiceBuilder; import org.scribe.builder.api.Px500Api; -import org.scribe.model.OAuthRequest; -import org.scribe.model.Response; -import org.scribe.model.Token; -import org.scribe.model.Verb; -import org.scribe.model.Verifier; +import org.scribe.model.*; import org.scribe.oauth.OAuthService; public class Px500Example From 98801d7b8697dc6fc507adb710544e78cf13ca81 Mon Sep 17 00:00:00 2001 From: Dhruv Chandna Date: Fri, 30 Mar 2012 11:20:42 -0500 Subject: [PATCH 5/6] Used * imports --- src/main/java/org/scribe/builder/api/Px500Api.java | 2 +- src/test/java/org/scribe/examples/Px500Example.java | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/scribe/builder/api/Px500Api.java b/src/main/java/org/scribe/builder/api/Px500Api.java index b033f61..f7f3b0e 100644 --- a/src/main/java/org/scribe/builder/api/Px500Api.java +++ b/src/main/java/org/scribe/builder/api/Px500Api.java @@ -1,6 +1,6 @@ package org.scribe.builder.api; -import org.scribe.model.Token; +import org.scribe.model.*; public class Px500Api extends DefaultApi10a { diff --git a/src/test/java/org/scribe/examples/Px500Example.java b/src/test/java/org/scribe/examples/Px500Example.java index b810b8a..cdbe449 100644 --- a/src/test/java/org/scribe/examples/Px500Example.java +++ b/src/test/java/org/scribe/examples/Px500Example.java @@ -2,10 +2,10 @@ package org.scribe.examples; import java.util.Scanner; -import org.scribe.builder.ServiceBuilder; -import org.scribe.builder.api.Px500Api; +import org.scribe.builder.*; +import org.scribe.builder.api.*; import org.scribe.model.*; -import org.scribe.oauth.OAuthService; +import org.scribe.oauth.*; public class Px500Example { From 4bb6e49b61ee27bc8c9fde2c62823cbd4fc3249b Mon Sep 17 00:00:00 2001 From: Dhruv Chandna Date: Fri, 30 Mar 2012 13:00:03 -0500 Subject: [PATCH 6/6] Revert "Removed the @Override annotation as it resulted in a compilation error." This reverts commit 4aa62564872d9c7a1c494eba507fbbc6f99469d1. --- src/main/java/org/scribe/extractors/JsonTokenExtractor.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/org/scribe/extractors/JsonTokenExtractor.java b/src/main/java/org/scribe/extractors/JsonTokenExtractor.java index 5bec423..7c1ee04 100644 --- a/src/main/java/org/scribe/extractors/JsonTokenExtractor.java +++ b/src/main/java/org/scribe/extractors/JsonTokenExtractor.java @@ -10,6 +10,7 @@ public class JsonTokenExtractor implements AccessTokenExtractor { private Pattern accessTokenPattern = Pattern.compile("\"access_token\":\\s*\"(\\S*?)\""); + @Override public Token extract(String response) { Preconditions.checkEmptyString(response, "Cannot extract a token from a null or empty String");