package org.vaadin.mideaas.social;
import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.User;
import twitter4j.auth.AccessToken;
public class TwitterService extends OAuthService {
public TwitterService(String apiKey, String apiSecret, UserToken token) {
super(Service.TWITTER, apiKey, apiSecret, token);
}
private Twitter twitter;
@Override
protected void connect() {
twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(getApiKey(), getApiSecret());
UserToken token = getUserToken();
twitter.setOAuthAccessToken(new AccessToken(token.getToken(), token.getSecret()));
}
@Override
protected UserProfile fetchUserProfile() {
try {
String id = twitter.getScreenName();
User u = twitter.showUser(id);
String name = u.getName();
String email = null;
String imgUrl = u.getMiniProfileImageURL();
return new UserProfile(Service.TWITTER, getUserToken(), id, name, email, imgUrl);
} catch (TwitterException e) {
e.printStackTrace();
return null;
}
}
}