Úvod do služby Twitter4J

1. Prehľad

V tomto článku sa pozrieme na to, ako používať Twitter4J v aplikácii Java na komunikáciu s Twitterom.

2. Twitter4J

Twitter4J je open source knižnica Java, ktorá poskytuje pohodlné API pre prístup k Twitter API.

Jednoducho povedané, tu môžeme komunikovať s rozhraním Twitter API; môžeme:

  • Pošlite tweet
  • Získajte časovú os používateľa so zoznamom najnovších tweetov
  • Posielajte a prijímajte priame správy
  • Vyhľadajte tweety a oveľa viac

Táto knižnica zaisťuje, že tieto operácie môžeme ľahko vykonávať, a tiež zaisťuje bezpečnosť a súkromie používateľa - pre ktoré prirodzene musíme mať v našej aplikácii nakonfigurované prihlasovacie údaje OAuth.

3. Závislosti Maven

Musíme začať definovaním závislosti pre Twitter4J v našom pom.xml:

 org.twitter4j twitter4j-stream 4.0.6 

Ak chcete skontrolovať, či bola vydaná nejaká nová verzia knižnice, sledujte vydania tu.

4. Konfigurácia

Konfigurácia Twitter4J je jednoduchá a dá sa vykonať rôznymi spôsobmi - napríklad v súbore obyčajného textu alebo triede Java alebo dokonca pomocou premenných prostredia.

Pozrime sa na každý z týchto spôsobov, jeden po druhom.

4.1. Obyčajný textový súbor

Môžeme použiť obyčajný textový súbor - pomenovaný twitter4j.properties - uchovať podrobnosti našej konfigurácie. Pozrime sa na vlastnosti, ktoré je potrebné poskytnúť:

oauth.consumerKey = // váš kľúč oauth.consumerSecret = // vaše tajomstvo oauth.accessToken = // váš token oauth.accessTokenSecret = // vaše tajomstvo tokenu

Všetky tieto atribúty je možné získať z vývojárskej konzoly Twitter po vytvorení novej aplikácie.

4.2. Trieda Java

Môžeme tiež použiť triedu ConfigurationBuilder na programovú konfiguráciu Twitter4J v Jave:

ConfigurationBuilder cb = nový ConfigurationBuilder (); cb.setDebugEnabled (true) .setOAuthConsumerKey ("váš spotrebiteľský kľúč") .setOAuthConsumerSecret ("vaše spotrebiteľské tajomstvo") .setOAuthAccessToken ("váš prístupový token") .setOAuthAccessTokenSecret ("vaše tajomstvo prístupového tokenu"); TwitterFactory tf = nový TwitterFactory (cb.build ()); Twitter twitter = tf.getInstance ();

Všimnite si, že budeme používať Twitter inštancia v nasledujúcej časti - keď začneme načítať údaje.

4.3. Premenné prostredia

Ďalším výberom, ktorý máme, je konfigurácia prostredníctvom premenných prostredia. Ak to urobíme, všimnite si, že budeme potrebovať a twitter4j prefix v našich premenných:

$ export twitter4j.oauth.consumerKey = // váš kľúč $ export twitter4j.oauth.consumerSecret = // vaše tajomstvo $ export twitter4j.oauth.accessToken = // váš prístupový token $ export twitter4j.oauth.accessTokenSecret = // váš prístupový token tajomstvo

5. Pridávanie / načítanie údajov z Tweetov v reálnom čase

S plne nakonfigurovanou aplikáciou môžeme konečne komunikovať s Twitterom.

Pozrime sa na niekoľko príkladov.

5.1. Uverejnite tweet

Začneme aktualizáciou tweetu na Twitteri:

public String createTweet (reťazcový tweet) vyvolá TwitterException {Twitter twitter = getTwitterinstance (); Status status = twitter.updateStatus ("vytváranie baeldung API"); návrat status.getText (); }

Používaním status.getText (), môžeme získať práve uverejnený tweet.

5.2. Získajte časovú os

Zoznam tweetov môžeme tiež načítať z časovej osi používateľa:

public List getTimeLine () vyvolá TwitterException {Twitter twitter = getTwitterinstance (); návrat twitter.getHomeTimeline (). stream () .map (item -> item.getText ()) .collect (Collectors.toList ()); }

Používaním twitter.getHomeTimeline (), dostaneme všetky tweety uverejnené podľa aktuálneho ID účtu.

5.3. Poslať priamu správu

Posielanie a prijímanie priamych správ sledujúcim je tiež možné pomocou služby Twitter4j:

public static String sendDirectMessage (String recipientName, String msg) throws TwitterException {Twitter twitter = getTwitterinstance (); Správa DirectMessage = twitter.sendDirectMessage (recipientName, msg); vrátiť message.getText (); }

The sendDirectMessage metóda má dva parametre:

  • Meno príjemcu: twitterové užívateľské meno príjemcu správy
  • správa: obsah správy

Ak príjemcu nenájdete, sendDirectMessage hodí výnimku s kódom výnimky 150.

5.4. Vyhľadajte tweety

Môžeme tiež vyhľadať tweety, ktoré obsahujú nejaký text. Týmto spôsobom získame zoznam tweetov s používateľským menom používateľov.

Pozrime sa, ako je možné také vyhľadávanie vykonať:

public static List searchtweets () hodí TwitterException {Twitter twitter = getTwitterinstance (); Dotaz na dopyt = nový dotaz ("zdroj: twitter4j baeldung"); Výsledok QueryResult = twitter.search (dopyt); vrátiť výsledok.getTweets (). stream () .map (item -> item.getText ()) .collect (Collectors.toList ()); }

Je zrejmé, že môžeme opakovať každý tweet prijatý v a QueryResult a načítať relatívne údaje.

5.5. Streaming API

Twitter Streaming API je užitočné, keď sú potrebné aktualizácie v reálnom čase; spracováva vytváranie vlákien a počúva udalosti.

Vytvorme poslucháča, ktorý počúva tweetovanie aktualizácií od používateľa:

public static void streamFeed () {StatusListener listener = nový StatusListener () {@Override public void onException (Exception e) {e.printStackTrace (); } @Override public void onDeletionNotice (StatusDeletionNotice arg) {} @Override public void onScrubGeo (long userId, long upToStatusId) {} ​​@Override public void onStallWarning (StallWarning warning) {} @Override public void onStatus (Status) public void onTrackLimitationNotice (int numberOfLimitedStatuses) {}}; TwitterStream twitterStream = nový TwitterStreamFactory (). GetInstance (); twitterStream.addListener (poslucháč); twitterStream.sample (); }

Môžeme dať nejaké println () príkaz skontrolovať výstupný tweetový prúd vo všetkých metódach. Ku všetkým tweetom sú priradené metadáta polohy.

Upozorňujeme, že všetky údaje o tweetoch načítané rozhraním API sú vo formáte UTF-8 a keďže Twitter je viacjazyčná platforma, niektoré formáty údajov môžu byť na základe ich pôvodu nerozoznateľné.

6. Záver

Tento článok bol rýchlym, ale komplexným úvodom do používania Twitteru4J s Javou.

Implementáciu zobrazených príkladov nájdete na GitHub - jedná sa o projekt založený na Maven, takže by malo byť ľahké ho importovať a spustiť tak, ako je. Jedinou zmenou, ktorú musíme urobiť, je vložiť naše vlastné poverenia OAuth.


$config[zx-auto] not found$config[zx-overlay] not found