Skip to content

bold/jumblr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

Jumblr.

Build Status

A pleasant and complete Java wrapper for the Tumblr V2 API.

Example

// Create a new clientJumblrClientclient = newJumblrClient("consumer_key", "consumer_secret"); client.setToken("oauth_token", "oauth_token_secret"); // Write the user's nameUseruser = client.user(); System.out.println(user.getName()); // And list their blogsfor (Blogblog : user.getBlogs()){System.out.println("\t" + blog.getTitle())} // Like the most recent "lol" tagclient.tagged("lol").get(0).like();

Basic Usage

User

Information about the authenticating user

Useruser = client.user(); System.out.println(user.getName());

What blogs the user is following

List<Blog> blogs = client.userFollowing(); for (Blogblog : blogs){System.out.println(blog.getTitle())}

Dashboard posts for the user?

List<Post> posts = client.userDashboard();

Or the things we like:

List<Post> posts = client.userLikes();

Blog

Get information about a given blog

Blogblog = client.blogInfo("seejohnrun.tumblr.com"); blog.getTitle();

And then you can use either the client approach, or make calls on the blog. These two are equivelant:

List<User> users = client.blogFollowers(); List<User> users = blog.followers();

Same with likes, etc:

// All return List<Post>blog.posts(); blog.queuedPosts(); blog.draftPosts(); blog.submissions();

It's easy to get get the avatar of a blog too:

blog.avatar(); // String

And follow/unfollow blogs:

blog.follow(); blog.unfollow();

Post

Again:

post.like(); post.unlike(); // orclient.postLike(postId, reblogKey); client.postUnlike(postId, reblogKey);

Maybe you want to delete a post, or reblog it?

// Deletepost.delete(); // Reblogpost.reblog();

And editing posts is equally easy:

post.setTitle("hello"); post.save(); // or if you like..Map<String, String> detail = newHashMap<String, String>(); detail.put("title", "hello"); client.postEdit(blogName, postId, detail);

Just as easy as creating them:

QuotePostpost = client.newPost(blogName, QuotePost.class); post.setQuote("hello world"); post.save(); // or if you like...Map<String, String> detail = newHashMap<String, String>(); detail.put("quote", "hello world"); detail.put("type", "quote"); client.postCreate(blogName, detail);

Tagged

All of the posts tagged a given thing:

for (Postpost : client.tagged("lol")){post.getId()}

Pagination

Pagination and additional options are on most calls, and you can just pass them to the overloaded form:

Map<String, Integer> options = newHashMap<String, Integer>(); options.put("limit", 2); options.put("offset", 5); List<Post> posts = blog.posts(options);

Errors

Any connection errors will raise a JumblrException, which you can get more information from:

catch (JumblrExceptionex){System.out.println("(" + ex.getResponseCode().toString() + ") " + ex.getMessage())}

Gradle

compile 'com.tumblr:jumblr:0.0.11'

Maven

<dependency> <groupId>com.tumblr</groupId> <artifactId>jumblr</artifactId> <version>0.0.11</version> </dependency>

Runnings Tests

mvn test

More detail?

Pop out that JavaDoc - full documentation awaits.

Or you can use our hosted copy at: http://tumblr.github.io/jumblr/javadoc/

Also see the documentation for the Tumblr API itself.

Builds

We supply some JAR builds you can use if you're not a fan of mvn. You can grab them with (or without) dependencies from the project page.

Reporting issues

Please refer to the GitHub issue tracker at: https://github.com/tumblr/jumblr/issues

Copyright and license

Copyright 2015 Tumblr, Inc.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this work except in compliance with the License. You may obtain a copy of the License in the LICENSE file, or at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations.

About

Tumblr API v2 Java Client

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java100.0%