From 5ad8059b086ba8909bfd7f1800c14551c0faee86 Mon Sep 17 00:00:00 2001 From: niQo Date: Tue, 1 May 2012 23:35:28 +0200 Subject: [PATCH] Added Skyrock.com support --- .../org/scribe/builder/api/SkyrockApi.java | 35 +++++++++++ .../org/scribe/examples/SkyrockExample.java | 61 +++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 src/main/java/org/scribe/builder/api/SkyrockApi.java create mode 100644 src/test/java/org/scribe/examples/SkyrockExample.java diff --git a/src/main/java/org/scribe/builder/api/SkyrockApi.java b/src/main/java/org/scribe/builder/api/SkyrockApi.java new file mode 100644 index 0000000..b0e76a3 --- /dev/null +++ b/src/main/java/org/scribe/builder/api/SkyrockApi.java @@ -0,0 +1,35 @@ +package org.scribe.builder.api; + +import org.scribe.model.*; + +/** + * OAuth API for Skyrock. + * + * @author Nicolas QuiƩnot + * @see Skyrock.com API + */ +public class SkyrockApi extends DefaultApi10a +{ + private static final String API_ENDPOINT = "https://api.skyrock.com/v2"; + private static final String REQUEST_TOKEN_RESOURCE = "/oauth/initiate"; + private static final String AUTHORIZE_URL = "/oauth/authorize?oauth_token=%s"; + private static final String ACCESS_TOKEN_RESOURCE = "/oauth/token"; + + @Override + public String getAccessTokenEndpoint() + { + return API_ENDPOINT + ACCESS_TOKEN_RESOURCE; + } + + @Override + public String getRequestTokenEndpoint() + { + return API_ENDPOINT + REQUEST_TOKEN_RESOURCE; + } + + @Override + public String getAuthorizationUrl(Token requestToken) + { + return String.format(API_ENDPOINT + AUTHORIZE_URL, requestToken.getToken()); + } +} diff --git a/src/test/java/org/scribe/examples/SkyrockExample.java b/src/test/java/org/scribe/examples/SkyrockExample.java new file mode 100644 index 0000000..422d067 --- /dev/null +++ b/src/test/java/org/scribe/examples/SkyrockExample.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.oauth.*; + +public class SkyrockExample +{ + private static final String PROTECTED_RESOURCE_URL = "https://api.skyrock.com/v2/user/get.json"; + + public static void main(String[] args) + { + OAuthService service = new ServiceBuilder() + .provider(SkyrockApi.class) + .apiKey("your-api-key") + .apiSecret("your-api-secret") + .build(); + Scanner in = new Scanner(System.in); + + System.out.println("=== Skyrock'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.getCode()); + System.out.println(response.getBody()); + + System.out.println(); + System.out.println("Thats it man! Go and build something awesome with Scribe! :)"); + + } + +}