Example #1
0
  public static void main(String... args) {
    // Replace these with your own api key and secret
    final String apiKey = "myKey";
    final String apiSecret = "mySecret";
    final OAuth10aService service =
        new ServiceBuilder().apiKey(apiKey).apiSecret(apiSecret).build(DiggApi.instance());
    final Scanner in = new Scanner(System.in);

    System.out.println("=== " + NETWORK_NAME + "'s OAuth Workflow ===");
    System.out.println();

    // Obtain the Request Token
    System.out.println("Fetching the Request Token...");
    final OAuth1RequestToken requestToken = service.getRequestToken();
    System.out.println("Got the Request Token!");
    System.out.println();

    // Obtain the Authorization URL
    System.out.println("Fetching the Authorization URL...");
    final String authorizationUrl = service.getAuthorizationUrl(requestToken);
    System.out.println("Got the Authorization URL!");
    System.out.println("Now go and authorize ScribeJava here:");
    System.out.println(authorizationUrl);
    System.out.println("And paste the authorization code here");
    System.out.print(">>");
    final 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...");
    final OAuth1AccessToken accessToken = service.getAccessToken(requestToken, verifier);
    System.out.println("Got the Access Token!");
    System.out.println(
        "(if your curious it looks like this: "
            + accessToken
            + ", 'rawResponse'='"
            + accessToken.getRawResponse()
            + "')");
    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...");
    final OAuthRequest request = new OAuthRequest(Verb.POST, PROTECTED_RESOURCE_URL, service);
    request.addBodyParameter("comment_id", "20100729223726:4fef610331ee46a3b5cbd740bf71313e");
    service.signRequest(accessToken, request);
    final 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 ScribeJava! :)");
  }
  @Override
  public Token getAccessToken(final Token requestToken, final Verifier verifier) {
    final OAuthRequest request =
        new OAuthRequest(getApi().getAccessTokenVerb(), getApi().getAccessTokenEndpoint(), this);
    request.addBodyParameter(OAuthConstants.CLIENT_ID, getConfig().getApiKey());
    request.addBodyParameter(OAuthConstants.CLIENT_SECRET, getConfig().getApiSecret());

    if (ImgurApi.isOob(getConfig())) {
      request.addBodyParameter(OAuthConstants.GRANT_TYPE, "pin");
      request.addBodyParameter("pin", verifier.getValue());
    } else {
      request.addBodyParameter(OAuthConstants.GRANT_TYPE, OAuthConstants.AUTHORIZATION_CODE);
      request.addBodyParameter(OAuthConstants.CODE, verifier.getValue());
    }

    return getApi().getAccessTokenExtractor().extract(request.send().getBody());
  }