domenica 31 luglio 2011

instagram from java

se avete un iphone e vi piace fare foto, non potetet non provare instagram..l'ultimo ritrovato dello scatto istantaneo (stile polaroid) solo per iphone (questo non piace...) con una serie di filtri per abbellire, rendere + strane le vs immagini...

a noi interessa usare le api da java...
è possibile soltanto il recupero delle foto/informazioni/commenti/amici...
non si può caricare nulla....

ho provato questa libreria, ancora poco organizzata
https://github.com/sachin-handiekar/jInstagram

(va checkoutata e compilata ion locale, non ci sono librerie..no maven...no ant)...


una guida minimale per muovere i primi passi:
https://github.com/sachin-handiekar/jInstagram/wiki/jInstagram-Usage

per fare i test vi serve la registrazione sul sito:
http://instagram.com/developer/

per fare dei test da client (eclipse), fate cosi:
1) create una paginetta (che magari scrive solo ciao!) su un server pubblico:

basta che sia raggiungibile:
es http://giava.by/instaflower/oauth/index.html

2) da browser chiamate questo indirizzo:
http://instagram.com/oauth/authorize/?client_id=CLIENT_ID&redirect_uri=REDIRECT-URI&response_type=token

sostituite nell'url il CLIENT_ID che avete ricevuto nel registrarvi sul sito sviluppatori e il vs indirizzo pubblico (REDIRECT-URI)

3) prendete il token che vi è stato assegnato:

es: http://giava.by/instaflower/oauth/#access_token=xxxxxx.xxx.1926f93543824d95bb83d3a9805874df

access_token=xxxxxx.xxx.1926f93543824d95bb83d3a9805874df

ecco un esempio rapido per avere tutte le vs foto:

import java.util.List;

import org.jinstagram.Instagram;
import org.jinstagram.auth.model.Token;
import org.jinstagram.entity.common.Caption;
import org.jinstagram.entity.common.Comments;
import org.jinstagram.entity.common.ImageData;
import org.jinstagram.entity.common.Images;
import org.jinstagram.entity.common.Likes;
import org.jinstagram.entity.common.Location;
import org.jinstagram.entity.users.basicinfo.UserInfo;
import org.jinstagram.entity.users.basicinfo.UserInfoData;
import org.jinstagram.entity.users.feed.MediaFeed;
import org.jinstagram.entity.users.feed.MediaFeedData;
import org.jinstagram.entity.users.feed.UserFeed;
import org.jinstagram.entity.users.feed.UserFeedData;
import org.jinstagram.exceptions.InstagramException;

public class First {

static String your_client_secret = "172460d1932b4393b2097f67dfd78ff1";
static String access_token="xxxxxx.xxx.1926f93543824d95bb83d3a9805874df";
static String nickname ="pippoPluto";

public static void main(String[] args) throws InstagramException {

Token accessToken = new Token(
access_token,
your_client_secret);
Instagram instagram = new Instagram(accessToken);
UserFeed userFeed = instagram.searchUser(nickname);
List userList = userFeed.getUserList();
long userId = 0;
for (UserFeedData userFeedData : userList) {
userId = userFeedData.getId();
}
UserInfo userInfo = instagram.getUserInfo(userId);

UserInfoData userData = userInfo.getData();
System.out.println("id : " + userData.getId());
System.out.println("first_name : " + userData.getFirst_name());
System.out.println("last_name : " + userData.getLast_name());
System.out
.println("profile_picture : " + userData.getProfile_picture());
System.out.println("website : " + userData.getWebsite());

MediaFeed mediaFeed = instagram.getUserFeeds();
List mediaFeeds = mediaFeed.getData();

for (MediaFeedData mediaData : mediaFeeds) {
System.out.println("id : " + mediaData.getId());
System.out.println("created time : " + mediaData.getCreatedTime());
System.out.println("link : " + mediaData.getLink());
System.out.println("tags : " + mediaData.getTags().toString());
System.out.println("filter : " + mediaData.getImageFilter());
System.out.println("type : " + mediaData.getType());

System.out.println("-- Comments --");
Comments comments = mediaData.getComments();

System.out.println("-- Caption --");
Caption caption = mediaData.getCaption();

System.out.println("-- Likes --");
Likes likes = mediaData.getLikes();

System.out.println("-- Images --");
Images images = mediaData.getImages();

ImageData lowResolutionImg = images.getLowResolution();
ImageData highResolutionImg = images.getStandardResolution();
ImageData thumbnailImg = images.getThumbnail();

Location location = mediaData.getLocation();
if (location != null)
System.out.println(location.getName());
System.out.println("****************************************");
}

}
}

Nessun commento: