Il sito API twitter elenca 3 librerie java twitter.La migliore libreria di java twitter?
Sai altri? Quali sono le vostre esperienze in supporto, facilità d'uso, stabilità, comunità, ecc
Il sito API twitter elenca 3 librerie java twitter.La migliore libreria di java twitter?
Sai altri? Quali sono le vostre esperienze in supporto, facilità d'uso, stabilità, comunità, ecc
penso Twitter4j è buona è data più fino API
grazie per questo !! – swiftBoy
Dio, vorrei aver detto "Penso che sia il migliore" e ottengo subito 15 upvotes – diegoaguilar
Ho appena dato un'occhiata al loro.
JTwitter sembra decisamente il più debole dei tre. Non sembra essere stato aggiornato di recente, non copre gran parte dell'API di Twitter e non sembra avere alcuna versione oltre a quella iniziale. Al rialzo, è concesso in licenza LPGL, viene fornito con quel piccolo extra di cui ha bisogno e sembra piccolo e semplice da capire.
Gli altri due, java-twitter e Twtter4J sono molto più vicini alla qualità. Entrambi coprono l'API di base ed entrambi hanno tutti gli accorgimenti dei normali progetti open source: repository di codice sorgente pubblicamente disponibile, documenti on-line, mailing list attive e attività di sviluppo recenti.
Tuttavia, Twitter4J sembra essere il leader. Dai documenti, la copertura API sembra essere più completa. La mailing list è decisamente più attiva. I documenti sono molto meglio. E, cosa più importante per me, le versioni sono state più frequenti. java-twitter ha rilasciato una release, la release "0.9-SNAPSHOT" circa 4 mesi fa. Twitter4J ha avuto diverse versioni in quel periodo di tempo, tra cui 2.0.0 e versioni incrementali fino alla 2.0.8, risolvendo problemi e aggiungendo supporto per le nuove API di Twitter.
Ho intenzione di iniziare con Twitter4J; se non lo senti, supponi che sia stato semplicemente fantastico per me.
Dopo un mese di ricerche, Twitter4J sembra molto bello. Sono completamente a favore di esso. –
I tuoi commenti su JTwitter non sono accurati, anche se la natura breve e semplice del sito web di JTwitter (1 pagina + javadoc, 0 bumpf) può essere in parte la colpa. –
Credo che i commenti fossero accurati all'epoca (giugno 2009). Immagino che alcune cose siano cambiate nei 32 mesi successivi. Forse potresti commentare la biblioteca come è oggi? –
Ho selezionato Twitter4j perché un sacco di persone ci stanno lavorando. Ed è facile trovare alcuni contenuti su Internet a riguardo.
Uso Twitter4J e devo ancora avere un problema. In realtà mi piace molto.
L'esempio di OAuth sul loro sito Web è il più grande fastidio: non è utile. Ecco il mio codice OAuthServlet se sei interessato (o qualcun altro). So che questa domanda è piuttosto vecchia, quindi la sto mettendo qui di più per i risultati di ricerca.
package com.example.oauth;
import java.io.PrintWriter;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import twitter4j.*;
import twitter4j.http.*;
@SuppressWarnings("serial")
public class OAuthServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
HttpSession sess = req.getSession(true);
RequestToken requestToken = (RequestToken) sess.getAttribute("requestToken");
if (sess.getAttribute("twitter_user_id") != null) {
resp.setContentType("text/plain");
PrintWriter out = resp.getWriter();
if (req.getRequestURI().indexOf("logout") > 3) {
sess.removeAttribute("twitter_user_id");
out.println("You're now logged out.");
} else {
out.println("You're already logged in!");
}
} else if (req.getRequestURI().indexOf("callback") > 3 && req.getParameter("oauth_token").length() > 0 && requestToken != null) {
handleCallback(req, resp, sess);
if (sess.getAttribute("oauth_previous") != null) {
resp.sendRedirect((String) sess.getAttribute("oauth_previous"));
sess.removeAttribute("oauth_previous");
}
} else {
sendToTwitter(resp, sess);
sess.setAttribute("oauth_previous", req.getHeader("Referer"));
}
}
private void sendToTwitter(HttpServletResponse resp, HttpSession sess) throws IOException {
RequestToken requestToken = (RequestToken) sess.getAttribute("requestToken");
try {
Twitter twitter = new TwitterCnx().registerOAuth().get();
requestToken = twitter.getOAuthRequestToken();
sess.setAttribute("requestToken", requestToken);
resp.sendRedirect(requestToken.getAuthorizationURL());
} catch (TwitterException e) {
PrintWriter out = resp.getWriter();
out.println(e.getStackTrace());
}
}
private void handleCallback(HttpServletRequest req, HttpServletResponse resp, HttpSession sess) throws IOException {
RequestToken requestToken = (RequestToken) sess.getAttribute("requestToken");
sess.removeAttribute("requestToken");
String secret = req.getParameter("oauth_token");
resp.setContentType("text/plain");
PrintWriter out = resp.getWriter();
try {
Twitter t = new TwitterCnx().registerOAuth().get();
AccessToken accessToken = t.getOAuthAccessToken(requestToken.getToken(), secret);
long id = (long) t.verifyCredentials().getId();
storeAccessToken(id, accessToken,sess);
sess.setAttribute("twitter_user_id", id);
out.println("You're now logged in!");
} catch (TwitterException e) {
out.println("Something went wrong. Sorry about that. Please try again.");
}
}
private void storeAccessToken(Long id, AccessToken at, HttpSession sess) {
//you probably want to persist this somewhere other than in sessions.
sess.setAttribute("secret", at.getTokenSecret());
sess.setAttribute("token", at.getToken());
//also, don't forget to persist the user id alongside the token.
}
}
Uso la classe TwitterCnx come wrapper per twitter4j.Twitter. TwitterCnx definisce il mio materiale di consumo OAuth e restituisce un oggetto Twitter. È una classe finale con metodi statici quindi non produco più di un oggetto Twitter per istanza di app.
Ahem; JTwitter viene mantenuto attivamente, aggiornato regolarmente (versione 1.6.2 rilasciata oggi) e copre la maggior parte delle API di Twitter.
Manca solo un metodo per impostare l'immagine del profilo e alcune altre impostazioni del profilo. Oltre a questo, è abbastanza completo. Aggiornamenti di stato, scadenze, amicizie, liste, ricerche, streaming, ecc.
È anche veloce e robusto.Twitter può essere traballante in alcuni luoghi e JTwitter ha degli aggettivi e delle eccezioni informative per semplificarti la vita.
Come sviluppatore JTwitter principale, sono piuttosto prevenuto! Ma anche il feedback degli sviluppatori che usano JTwitter è molto positivo.
C'è anche TweetStream4J che è un collegamento Java per l'API di streaming di Twitter. È piuttosto semplice e, a differenza dell'ultima volta che l'ho usato, l'autore lo ha aggiornato per includere un file pom.xml in modo da poterlo costruire. È abbastanza semplice e veloce quando l'ho usato (da Scala).
Per tutti coloro che ancora guardando a questa domanda, vale la pena ricordare che l'unico API che Twitter currently lists on its website per Java è Twitter4J. Quindi, se avessi avuto bisogno di più convincente che quello era quello da usare, bene, ecco qua!
Sto per fare il grande passo e vorrei anche un buon confronto. –
Non dimenticare "Spring Social, Twitter". –
Ho creato una proposta di sito per fornire a domande come questa una casa ufficiale di Stack Overflow. Si chiama [raccomandazioni del Codice] (http://area51.stackexchange.com/proposals/66606/code-recommendations?referrer=S-_R40wBFZh6TlZ3Al4_Sw2) contribuire a rendere una realtà unendo e facendo domande ora! – daviewales