Jribbble 
A jQuery plugin to retrieve info from the Dribbble API
Live demos available on Codepen.io
Dependencies
Getting Jribbble
with Bower
bower install --save jribbble
or direct download:
Using Jribbble
Jribbble covers all non-authenticated methods of the Dribbble API. All available methods are accessed from the jribbble
object which is a member of the jQuery
or $
object.
Note: If you need access to Dribbble methods using POST
or PUT
you will need
to access the API using OAuth. Jribbble only supports unauthenticated GET
methods.
<body>
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script src="jribbble.min.js"></script>
<script>
function success(apiResponse) {
};
function error(jqxhr) {
};
$.jribbble.setToken('<your_dribbble_client_access_token>');
$.jribbble.shots().then(success, error);
</script>
</body>
Setting your app's client access token
Before you can use any of Jribbble's methods, you must set your Dribbble app's client access token.
If you do not have a token, create a new app at https://dribbble.com/account/applications/new
$.jribbble.setToken(token)
Description: Sets the required Dribbble application client access token.
Parameters:
- token - required
String or Int
Your Dribbble App client access token
Example usage:
$.jribbble.setToken('123456789');
Available methods
Shots
Users
Teams
Buckets
Projects
Shots
$.jribbble.shots(id, options)
Description: Gets a list of shots.
Parameters:
- id - optional
String or Int
A shot id or a shot list name. See API Docs for list names. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. See API Docs for a full list.
Example usage:
$.jribbble.shots(2055068).then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots('debuts', {
'sort': 'views',
'timeframe': 'month',
'per_page': 35
}).then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(shotId).attachments(attachmentId, options)
Description: Gets the attachments or single attachment for a shot.
Parameters:
- shotId - required
String or Int
- attachmentId - optional
String or Int
Only required if you want a single attachment. options
are not rejected, but will have no effect when attachmentId
is used. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Attachments only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2066347).attachments().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(2066347).attachments(370029).then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(shotId).buckets(options)
Description: Gets the buckets for a shot.
Parameters:
- shotId - required
String or Int
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Buckets only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2067006).buckets({'per_page': 36}).then(function(res) {
});
Live example on Codepen.io.
Description: Gets the comments or single comment for a shot.
Parameters:
- shotId - required
String or Int
- commentId - optional
String or Int
Only required if you want a single comment. options
are not rejected, but will have no effect when commentId
is used. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Comments only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2067969).comments().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(2067969).comments(4448286).then(function(res) {
});
Live example on Codepen.io.
Description: Gets the likes for a comment.
Parameters:
- shotId - required
String or Int
- commentId - required
String or Int
The id of the comment - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Likes only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2069352).comments(4450321).likes().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(shotId).likes(options)
Description: Gets the likes for a shot.
Parameters:
- shotId - required
String or Int
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Likes only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2058881).likes().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(shotId).projects(options)
Description: Gets the projects for a shot.
Parameters:
- shotId - required
String or Int
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Projects only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2077496).projects().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.shots(shotId).rebounds(options)
Description: Gets the rebounds for a shot.
Parameters:
- shotId - required
String or Int
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Rebounds only support paging options. per_page
and page
.
Example usage:
$.jribbble.shots(2046896).rebounds().then(function(res) {
});
Live example on Codepen.io.
Users
$.jribbble.users(userId)
Description: Gets a single user
Parameters:
- userId - required
String or Int
The username or id for the user.
Example usage:
$.jribbble.users('tylergaw').then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).shots(options)
Description: Get a user's shots
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. User's shots only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('tylergaw').shots().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).buckets(options)
Description: Gets a user's buckets
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Buckets only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('markbult').buckets().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).projects(options)
Description: Gets a user's projects
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. User projects only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('creativemints').projects().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).teams(options)
Description: Gets the teams a user belongs to
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. User teams only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('veerlepieters').teams().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).likes(options)
Description: Gets the shots a user likes
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. User likes only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('op45').likes().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).followers(options)
Description: Gets a user's followers
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Followers only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('tylergaw').followers().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).following(options)
Description: Gets the users a user is following
Parameters:
- userId - required
String or Int
The username or id for the user. - options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Following only support paging options. per_page
and page
.
Example usage:
$.jribbble.users('tylergaw').following().then(function(res) {
});
Live example on Codepen.io.
$.jribbble.users(userId).isFollowing(targetUserId)
Description: Check to see if a user is following another user.
Parameters:
- userId - required
String or Int
The username or id for the user. - targetUserId - required
String or Int
The username or id for the other user.
Example usage:
$.jribbble.users('tylergaw').isFollowing('jimniels').then(function(res) {
});
Live example on Codepen.io.
Teams
$.jribbble.teams(teamId).members(options)
Description: Gets the members of a team.
Parameters:
- teamId - required
String
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Teams only support paging options. per_page
and page
.
Example usage:
$.jribbble.teams('eight2eight').members(options).then(function(res) {
});
Live example on Codepen.io.
$.jribbble.teams(teamId).shots(options)
Description: Gets the shots for a team.
Parameters:
- teamId - required
String
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Shots only support paging options. per_page
and page
.
Example usage:
$.jribbble.teams('eight2eight').shots(options).then(function(res) {
});
Live example on Codepen.io.
Buckets
$.jribbble.buckets(bucketId)
Description: Gets a single bucket
Parameters:
- bucketId - required
String or Int
Example usage:
$.jribbble.buckets(114550).then(function(res) {
});
Live example on Codepen.io.
$.jribbble.buckets(bucketId).shots(options)
Description: Gets the shots for a project
Parameters:
- bucketId - required
String or Int
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Shots only support paging options. per_page
and page
.
Example usage:
$.jribbble.buckets(114550).shots(options).then(function(res) {
});
Live example on Codepen.io.
Projects
$.jribbble.projects(projectId)
Description: Gets a single project
Parameters:
- projectId - required
String or Int
Example usage:
$.jribbble.projects(267945).then(function(res) {
});
Live example on Codepen.io.
$.jribbble.projects(projectId).shots(options)
Description: Gets the shots for a project
Parameters:
- projectId - required
String or Int
- options - optional
Object
Key:value pairs of options that will be included in the request as query parameters. Shots only support paging options. per_page
and page
.
Example usage:
$.jribbble.projects(267945).shots(options).then(function(res) {
});
Live example on Codepen.io.
Contributing
Jribbble is open source. Issues and pull requests gladly accepted.
Tests
Jribbble uses Qunit and PhantomJS for tests. If you submit a pull request, you should most likely write a new test or modify an existing test. All tests must pass for a pull request to be accepted.
Installing test dependencies:
npm install && npm install -g node-qunit-phantomjs
running the tests:
make test
The tests will also run when pull requests are submitted. See Travis for build status.
Building Jribbble
Jribbble includes a small Makefile that includes a build task. The task copies the jribbble.js source to the /dist
directory–adding the version number and build date–and creates a minified version of it using UglifyJS2.
To build Jribbble you'll need UglifyJS2:
npm install uglify-js -g
then run
make
from the root directory