Skip to content

Commit

Permalink
Merge pull request scribejava#264 from niQo/master
Browse files Browse the repository at this point in the history
Support for Skyrock.com API
  • Loading branch information
fernandezpablo85 committed May 1, 2012
2 parents 294c311 + 5ad8059 commit b35ea8d
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 0 deletions.
35 changes: 35 additions & 0 deletions 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 <a href="http://www.skyrock.com/developer/">Skyrock.com API</a>
*/
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());
}
}
61 changes: 61 additions & 0 deletions 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! :)");

}

}

0 comments on commit b35ea8d

Please sign in to comment.