From 42ef871a61bfd713120285a3a0ed7810b93ddc82 Mon Sep 17 00:00:00 2001 From: dwursteisen Date: Sat, 25 Feb 2012 00:22:18 +0100 Subject: [PATCH 1/2] Added ImgUr support --- .../java/org/scribe/builder/api/ImgUrApi.java | 31 ++++++++++ .../org/scribe/examples/ImgUrExample.java | 62 +++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 src/main/java/org/scribe/builder/api/ImgUrApi.java create mode 100644 src/test/java/org/scribe/examples/ImgUrExample.java diff --git a/src/main/java/org/scribe/builder/api/ImgUrApi.java b/src/main/java/org/scribe/builder/api/ImgUrApi.java new file mode 100644 index 0000000..def2f40 --- /dev/null +++ b/src/main/java/org/scribe/builder/api/ImgUrApi.java @@ -0,0 +1,31 @@ +package org.scribe.builder.api; + +import org.scribe.model.Token; + +/** + * OAuth API for ImgUr + * + * @author David Wursteisen + * @see ImgUr API + */ +public class ImgUrApi extends DefaultApi10a { + + @Override + public String getRequestTokenEndpoint() + { + return "https://api.imgur.com/oauth/request_token"; + } + + @Override + public String getAccessTokenEndpoint() + { + return "https://api.imgur.com/oauth/access_token"; + } + + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format("https://api.imgur.com/oauth/authorize?oauth_token=%s", requestToken.getToken()); + } +} + diff --git a/src/test/java/org/scribe/examples/ImgUrExample.java b/src/test/java/org/scribe/examples/ImgUrExample.java new file mode 100644 index 0000000..b938ac2 --- /dev/null +++ b/src/test/java/org/scribe/examples/ImgUrExample.java @@ -0,0 +1,62 @@ +package org.scribe.examples; + +import org.scribe.builder.ServiceBuilder; +import org.scribe.builder.api.ImgUrApi; +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; + +import java.util.Scanner; + +public class ImgUrExample +{ + private static final String PROTECTED_RESOURCE_URL = "http://api.imgur.com/2/account.json"; + + public static void main(String[] args) + { + // Replace these with your own api key and secret (you'll need an read/write api key) + String apiKey = "your_app_id"; + String apiSecret = "your_api_secret"; + OAuthService service = new ServiceBuilder().provider(ImgUrApi.class).apiKey(apiKey).apiSecret(apiSecret).build(); + Scanner in = new Scanner(System.in); + + System.out.println("=== ImgUr'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:"); + String authorizationUrl = service.getAuthorizationUrl(requestToken); + System.out.println(authorizationUrl); + 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! :)"); + } +} From 0967770d431fba2c2ad22901275f2b9095d213ca Mon Sep 17 00:00:00 2001 From: dwursteisen Date: Thu, 8 Mar 2012 21:41:01 +0100 Subject: [PATCH 2/2] Code reformat : 2 spaces indentation, brace oppening on the next line, ... --- .../java/org/scribe/builder/api/ImgUrApi.java | 35 ++++++++++--------- .../org/scribe/examples/ImgUrExample.java | 14 +++----- 2 files changed, 23 insertions(+), 26 deletions(-) diff --git a/src/main/java/org/scribe/builder/api/ImgUrApi.java b/src/main/java/org/scribe/builder/api/ImgUrApi.java index def2f40..06dd691 100644 --- a/src/main/java/org/scribe/builder/api/ImgUrApi.java +++ b/src/main/java/org/scribe/builder/api/ImgUrApi.java @@ -1,6 +1,6 @@ package org.scribe.builder.api; -import org.scribe.model.Token; +import org.scribe.model.*; /** * OAuth API for ImgUr @@ -8,24 +8,25 @@ import org.scribe.model.Token; * @author David Wursteisen * @see ImgUr API */ -public class ImgUrApi extends DefaultApi10a { +public class ImgUrApi extends DefaultApi10a +{ - @Override - public String getRequestTokenEndpoint() - { - return "https://api.imgur.com/oauth/request_token"; - } + @Override + public String getRequestTokenEndpoint() + { + return "https://api.imgur.com/oauth/request_token"; + } - @Override - public String getAccessTokenEndpoint() - { - return "https://api.imgur.com/oauth/access_token"; - } + @Override + public String getAccessTokenEndpoint() + { + return "https://api.imgur.com/oauth/access_token"; + } - @Override - public String getAuthorizationUrl(Token requestToken) - { - return String.format("https://api.imgur.com/oauth/authorize?oauth_token=%s", requestToken.getToken()); - } + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format("https://api.imgur.com/oauth/authorize?oauth_token=%s", requestToken.getToken()); + } } diff --git a/src/test/java/org/scribe/examples/ImgUrExample.java b/src/test/java/org/scribe/examples/ImgUrExample.java index b938ac2..93fe91c 100644 --- a/src/test/java/org/scribe/examples/ImgUrExample.java +++ b/src/test/java/org/scribe/examples/ImgUrExample.java @@ -1,15 +1,11 @@ package org.scribe.examples; -import org.scribe.builder.ServiceBuilder; -import org.scribe.builder.api.ImgUrApi; -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; +import org.scribe.builder.*; +import org.scribe.builder.api.*; +import org.scribe.model.*; +import org.scribe.oauth.*; -import java.util.Scanner; +import java.util.*; public class ImgUrExample {