Вход в твиттер и твит с Java (веб-приложение) - PullRequest
0 голосов
/ 17 октября 2011

Я хочу написать простую Java-программу (или Java-приложение), которая позволит пользователю войти в систему и опубликовать твит. Мне даже не нужен пользовательский интерфейс. Я могу просто жестко закодировать твит, userId и пароль. Я просто хочу знать процесс. Я долго искал, и до сих пор не добился успеха. Следующий код, который в итоге должен был работать, не работает.

Код представляет собой простое приложение, а не веб-приложение. У кого-нибудь есть какой-нибудь код, который будет работать с нынешним Twitter API? Я пытался использовать twitter4j.

import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;
import twitter4j.auth.AccessToken;
import twitter4j.auth.RequestToken;

public class TwitterUtils {

public static void main(String[] args) {
    try {

        final String consumerKey = "**********";
        final String consumerSecret = "**********";
        Twitter twitter = new TwitterFactory().getInstance();
        twitter.setOAuthConsumer(consumerKey, consumerSecret);
        RequestToken requestToken = twitter.getOAuthRequestToken();

        String token = requestToken.getToken();
        String tokenSecret = requestToken.getTokenSecret();
        System.out.println("My token :: " + token);
        System.out.println("My token Secret :: " + tokenSecret);

        //AccessToken a = new AccessToken(token, tokenSecret);
        //twitter.setOAuthAccessToken(a);
        twitter.updateStatus("If you're reading this on Twitter, it worked!");

    } catch (TwitterException e) {
        e.printStackTrace();
    }
}//main
}//TwitterUtils

С комментариями строк AccessToken я получаю ошибку

Exception in thread "main" java.lang.IllegalStateException: Authentication credentials are missing. See http://twitter4j.org/configuration.html for the detail.     at twitter4j.TwitterBaseImpl.ensureAuthorizationEnabled(TwitterBaseImpl.java:205)
at twitter4j.TwitterImpl.updateStatus(TwitterImpl.java:453)
at playaround.TwitterUtils.main(TwitterUtils.java:55)

Java Результат: 1

Когда я раскомментирую строки, появляется сообщение об ошибке

Exception in thread "main" java.lang.IllegalArgumentException: Invalid access token format. at twitter4j.auth.AccessToken.<init>(AccessToken.java:50)
at playaround.TwitterUtils.main(TwitterUtils.java:53)

У кого-нибудь есть полное решение, которое я могу использовать? Спасибо.

Ответы [ 2 ]

0 голосов
/ 14 июня 2014

по этой ссылке ( http://module.minic.ro/how-to-make-a-twitter-application-tutorial/) вы можете сгенерировать ключ потребителя, секрет потребителя, токен доступа и секретные ключи токена доступа

Используйте этот код, когда получите ключи для объекта Twitter:

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey("*********************")
.setOAuthConsumerSecret("******************************************")
.setOAuthAccessToken("**************************************************")
.setOAuthAccessTokenSecret("******************************************");
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

http://twitter4j.org/en/configuration.html

0 голосов
/ 17 октября 2011

Кроме consumerKey и consumerSecret (ключ и секрет вашего приложения) вам нужно accessToken от пользователя, который использует ваше приложение. Вы получаете это accessToken из Twitter, используя протокол OAuth.

...