Java wrapper for Instagram's API v1
<dependency>
<groupId>com.github.sola92</groupId>
<artifactId>instagram-java</artifactId>
<version>1.3.9</version>
</dependency>
Firstly, build the authorization URL
InstagramAuthentication auth = new InstagramAuthentication();
String authUrl = auth.setRedirectUri("your_redirect_url")
.setClientSecret("your_app_secrect")
.setClientId("your_client_id")
.setScope("comments+likes")
.getAuthorizationUri();
After the user has authorized the app, get the access token by passing the code given in the callback URL.
AccessToken token = auth.build("code");
Create the session using the access token and you're all set
InstagramSession session = new InstagramSession(token);
User rihanna = session.searchUsersByName("badgalriri").get(0);
Here are some common endpoint calls. Please refer to the javadoc at /doc/com/sola/instagram/InstgramSession.html
for the full documentation of the endpoints.
//Endpoint: GET /users/3
User user = session.getUserById(3);
//Endpoint: GET /users/self/feed
PaginatedCollection<Media> feed = session.getFeed();
for(Media media: feed) {
//do stuff
}
//Endpoint: GET /users/3/media/recent
int userId = 3;
PaginatedCollection<Media> recentMedia = session.getRecentPublishedMedia(userId);
for(Media media: recentMedia) {
//do stuff
}
//Endpoint: GET /media/5233810105500317233
Media media = session.getMedia("523381010550031723");
//check for video
if (media instanceof VideoMedia) {
VideoMedia video = (VideoMedia)media;
}
//Endpoint: GET /users/search?q=jack
List<User> searchResults = session.searchUsersByName("jack");
int userId = 3;
// GET /users/3/follows
PaginatedCollection<User> follows = session.getFollows(userId);
// GET /users/3/followed-by
PaginatedCollection<User> followers = session.getFollowers(userId);
int targetUserId = 3;
// POST /users/3/relationship
session.modifyRelationship(targetUserId, Relationship.Action.FOLLOW)
int targetUserId = 3;
// POST /users/3/relationship
session.modifyRelationship(targetUserId, Relationship.Action.UNFOLLOW)
//routes api requests through a proxy
session.setHttpProxy("180.180.121.156", 8080);
//remove the proxy
session.removeHttpProxy();
Copyright (c) 2013 Sola Ogunsakin Licensed under the MIT license.
- Email : [email protected]
- LinkedIn : http://ca.linkedin.com/pub/sola-ogunsakin/45/a5/5a0/
- Twitter : @SolaOgunsakin