/** * {@inheritDoc} */ public void signRequest(Token accessToken, OAuthRequest request) { request.addQuerystringParameter(AgoravaConstants.ACCESS_TOKEN, accessToken.getToken()); }
/** * @return the name of the session to display for user */ public String getName() { return toString(); }
/** * @return true if the token is empty (token = "", secret = "") */ public boolean isEmpty() { return equals(AgoravaConstants.EMPTY_TOKEN); }
/** * Configure this builder with an existing {@link org.agorava.api.oauth.OAuthSession}. Convenient to clone a session * or to create an unproxified version of a session * * @param session the session to read values from * @return this builder */ public Builder readFromOAuthSession(OAuthSession session) { qualifier(session.getServiceQualifier()) .requestToken(session.getRequestToken()) .accessToken(session.getAccessToken()) .verifier(session.getVerifier()) .userProfile(session.getUserProfile()) .repo(session.getRepo()) .id(session.getId()); return this; }
@Override public <T> T fetchObject(String objectId, Class<T> type) { String uri = GRAPH_API_URL + objectId; return getService().get(uri, type); }
/** * {@inheritDoc} */ public void signRequest(Token token, OAuthRequest request) { LOGGER.fine("signing request: " + request.getCompleteUrl()); // Do not append the token if empty. This is for two legged OAuth calls. if (!token.isEmpty()) { request.addOAuthParameter(AgoravaConstants.TOKEN, token.getToken()); } LOGGER.fine("setting token to: " + token); addOAuthParams(request, token); appendSignature(request); }
@Override public String getAsString(FacesContext context, UIComponent component, Object value) { return ((OAuthSession) value).getId(); } }
/** * @return true if the session is the {@link #NULL} OAuthSession */ public boolean isNull() { return this.equals(NULL); }
@Override public void setAccessToken(String token, String secret) { OAuthSession session = getSession(); session.setAccessToken(new Token(token, secret)); }
/** * @return the current user session */ protected OAuthSession getSession() { return getService().getSession(); }
@Override public Response sendSignedXmlRequest(Verb verb, String uri, String payload) { OAuthRequest request = requestFactory(verb, uri); request.addPayload(payload); return sendSignedRequest(request); }
@Override public LinkedInProfileFull getProfileFullByPublicUrl(String url) { return getService().get(PROFILE_URL_FULL, LinkedInProfileFull.class, url); }
@Override public List<String> getUserPermissions() { JsonNode responseNode = getService().get("https://graph.facebook.com/me/permissions", JsonNode.class); return deserializePermissionsNodeToList(responseNode); }
@Override public List<Tweet> getPublicTimeline() { return getService().get(buildAbsoluteUri(PUBLIC_TIMELINE_URL), TweetList.class); }
@Override public RateLimitStatus getRateLimitStatus() { return getService().get(buildAbsoluteUri(RATE_LIMIT_STATUS), RateLimitStatus.class); }
@Override public List<DirectMessage> getDirectMessagesSent(int page, int pageSize, long sinceId, long maxId) { Map<String, String> parameters = buildPagingParametersWithCount(page, pageSize, sinceId, maxId); return getService().get(buildUri("direct_messages/sent.json", parameters), DirectMessageList.class); }
@Override public List<Tweet> getMentions(int page, int pageSize, long sinceId, long maxId) { Map<String, String> parameters = buildPagingParametersWithCount(page, pageSize, sinceId, maxId); return getService().get(buildUri("statuses/mentions_timeline.json", parameters), TweetList.class); }
@Override public List<TwitterProfile> getRetweetedBy(long tweetId, int page, int pageSize) { Map<String, String> parameters = buildPagingParametersWithCount(page, pageSize, 0, 0); return getService().get(buildUri("statuses/" + tweetId + "/retweeted_by.json", parameters), TwitterProfileList.class); }
@Override public List<Long> getRetweetedByIds(long tweetId, int page, int pageSize) { // requires authentication, even though getRetweetedBy() does not. Map<String, String> parameters = buildPagingParametersWithCount(page, pageSize, 0, 0); return getService() .get(buildUri("statuses/" + tweetId + "/retweeted_by/ids.json", parameters), LongList.class); }
@Override public List<TwitterProfile> getBlockedUsers(int page, int pageSize) { Map<String, String> parameters = buildPagingParametersWithPerPage(page, pageSize, 0, 0); return getService().get(buildUri("blocks/blocking.json", parameters), TwitterProfileList.class); }