public Status updateStatus(String status) { try { if (authorize() == false) { if (authErrStatus != null) { return authErrStatus; } } StatusFeedParser parser = new StatusFeedParser(); String url = STATUS_UPDATE_URL; QueryParameter[] params = new QueryParameter[] { new QueryParameter("status", status), new QueryParameter("source", "twim") }; // "?status=" + URLUTF8Encoder.encode(status) + // "&source=twim"; xauth.xAuthWebRequest(true, STATUS_UPDATE_URL, params, parser); // HttpUtil.doPost( url, parser ); Vector statuses = parser.getStatuses(); if (statuses != null && statuses.isEmpty() == false && status.startsWith("d ") == false) { return (Status) statuses.elementAt(0); } } catch (Exception ex) { return new Status( "Twim", "Error while updating status: " + ex.getMessage(), Calendar.getInstance().getTime(), "0"); } return null; }
/** * Request friends from Twitter API. * * @return Vector containing friends. */ public Vector requestFriendsTimeline() throws IOException, Exception { Vector entries = new Vector(); authorize(); try { HttpUtil.setBasicAuthentication("", ""); StatusFeedParser parser = new StatusFeedParser(); xauth.xAuthWebRequest(false, FRIENDS_URL, null, parser); // HttpUtil.doGet(FRIENDS_URL, parser); entries = parser.getStatuses(); } catch (IOException ex) { throw new IOException("Error in TwitterApi.requestFriends: " + ex.getMessage()); } catch (Exception ex) { throw new Exception("Error in TwitterApi.requestFriends: " + ex.getMessage()); } return entries; }
public Status markAsUnfavorite(Status status) { try { StatusFeedParser parser = new StatusFeedParser(); String url = FAVORITE_DESTROY_URL + status.getId() + ".xml"; xauth.xAuthWebRequest(true, url, null, parser); // HttpUtil.doPost( url, parser ); Vector statuses = parser.getStatuses(); if (statuses != null && statuses.isEmpty() == false) { return (Status) statuses.elementAt(0); } } catch (Exception ex) { return new Status( "Twim", "Error while marking status as unfavorite: " + ex.getMessage(), Calendar.getInstance().getTime(), "0"); } return null; }
private Vector requestTimeline(String timelineUrl) { Vector entries = new Vector(); if (authorize() == false) { if (authErrStatus != null) { entries.addElement(authErrStatus); return entries; } } try { boolean retry = false; do { // HttpUtil.setBasicAuthentication(username, password); HttpUtil.setBasicAuthentication("", ""); StatusFeedParser parser = new StatusFeedParser(); if (timelineUrl.equals(DIRECT_TIMELINE_URL)) { parser.setDirect(true); } xauth.xAuthWebRequest(false, timelineUrl, null, parser); // HttpUtil.doGet(timelineUrl, parser); int lastResponseCode = HttpUtil.getLastResponseCode(); entries = parser.getStatuses(); if (entries.isEmpty() && parser.isReallyEmpty() == false) { entries.addElement( new Status( "Twitter", "No statuses. API response from " + timelineUrl + " (" + lastResponseCode + "): " + HttpUtil.getHeaders() + " " + parser.getRawData(), Calendar.getInstance().getTime(), "")); retry = !retry; } else if (entries.isEmpty() && parser.isReallyEmpty() == true) { entries.addElement( new Status("Twitter", "No Tweets found.", Calendar.getInstance().getTime(), "")); } else { retry = false; } } while (retry); } catch (IOException ex) { entries.addElement( new Status( "Twitter", "Error occured. Please check " + "your connection or username and password.", Calendar.getInstance().getTime(), "")); entries.addElement( new Status( "Twitter", "StackTrace: " + ex.toString(), Calendar.getInstance().getTime(), "")); ex.printStackTrace(); } catch (Exception ex) { entries.addElement( new Status( "Twitter", "API exception: " + ex.toString(), Calendar.getInstance().getTime(), "")); } return entries; }