1

このライブラリでトレーニングするために、twitter4j の基本的な機能を操作しようとしています。私の最初のテストは、twitter4j サイトの最初のチュートリアルの 1 つであるタイムラインを取得することです。

タイムラインを取得するコードは次のとおりです。

String accessToken = "***";
String accessSecret = "***";
String consumerKey = "***";
String consumerSecret = "***";

ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
    .setOAuthConsumerKey(consumerKey)
    .setOAuthConsumerSecret(consumerSecret)
    .setOAuthAccessToken(accessToken)
    .setOAuthAccessTokenSecret(accessSecret);

TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();

List<Status> statuses = twitter.getHomeTimeline();

System.out.println("Showing home timeline.");

for (Status status : statuses) {

    System.out.println(status.getUser().getName() + ":" +
    status.getText());

}

しかし、この単純なコードでは、次のエラーがあります。

Exception in thread "main" api.twitter.com
Relevant discussions can be found on the Internet at:
    http://www.google.co.jp/search?q=e5488403 or
    http://www.google.co.jp/search?q=09b41b1e
TwitterException{exceptionCode=[e5488403-09b41b1e 6ece33f2-2ccf4468], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.3}
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:192)
    at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
    at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:81)
    at twitter4j.TwitterImpl.get(TwitterImpl.java:1835)
    at twitter4j.TwitterImpl.getHomeTimeline(TwitterImpl.java:117)
    at Test.main(Test.java:32)
Caused by: java.net.UnknownHostException: api.twitter.com
    at java.net.PlainSocketImpl.connect(Unknown Source)
    at java.net.SocksSocketImpl.connect(Unknown Source)
    at java.net.Socket.connect(Unknown Source)
    at sun.net.NetworkClient.doConnect(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.openServer(Unknown Source)
    at sun.net.www.http.HttpClient.<init>(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.http.HttpClient.New(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
    at java.net.HttpURLConnection.getResponseCode(Unknown Source)
    at twitter4j.internal.http.HttpResponseImpl.<init>(HttpResponseImpl.java:34)
    at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:156)
    ... 5 more

問題はどこだ ?

4

1 に答える 1

0

最後に、問題が発生しました。コードは完璧でしたが、プロキシがあります。だから私はそれを修正しました:

    ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
            .setOAuthConsumerKey(consumerKey)
            .setOAuthConsumerSecret(consumerSecret)
            .setOAuthAccessToken(accessToken)
            .setOAuthAccessTokenSecret(accessSecret)

            // PROXY
            .setHttpProxyHost(proxyHost)
            .setHttpProxyPort(proxyPort)
            ;
于 2013-05-17T12:48:55.890 に答える