Netbeantsの公式サイトのチュートリアル
http://netbeans.org/kb/docs/websvc/twitter-swing_ja.html
をJFrameのデザインからプロジェクトの実行を行いコンパイル・実行した結果以下のようなエラー文がでました。
Type oauth_verifier string (taken from callback page url):********
Exception in thread "AWT-EventQueue-0" com.sun.jersey.api.client.UniformInterfaceException: GET http://twitter.com/statuses/user_timeline.xml?count=1 returned a response status of 404 Not Found
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:676)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503)
at twitterclient.TwitterJFrame$Twitter_OAuth_user_timeline__format_JerseyClient.getUserTimeline(TwitterJFrame.java:226)
at twitterclient.TwitterJFrame.initUserInfo(TwitterJFrame.java:123)
at twitterclient.TwitterJFrame.<init>(TwitterJFrame.java:32)
at twitterclient.TwitterJFrame$2.run(TwitterJFrame.java:168)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:671)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
ビルド停止(合計時間: 1分51秒)
エラー文を見る限り、どこかにアクセスできないように見えます。
このチュートリアルは少し昔に作られたものなので原因はtwitter4jのバージョンや
Consumer keyおよびConsumer secretの設定上の問題が原因なのでしょうか?
またエラー分の1行目の「http://twitter.com/statuses/user_timeline.xml?count=1」
部分が更新して新しい仕様になったのでしょうか?そう考えると
参考に自分で調べてみたサイト
http://jptwitter.seesaa.net/article/145237765.html
よろしくお願いします
ashphyさんありがとうございます。
>
上記のプログラムですが、TwitterJFrame.java の232行目で OAUTH_BASE_URL =
"http://twitter.com/oauth" が指定されていますが、Twitter APIの仕様変更により
http://api.twitter.com/oauth に変更されています。
エラーとして 404 Not Found が返されているのはこのためだと思われます。 URLを変更すれば動作するかもしれません。
実際にやってみましたところ、同じエラー分が出ました。他にも原因があるみたいなので調べてみます。
やはり記事が古すぎでしたね。もしこれと似たような、または更新されている記事があれば紹介してください。
自分で探してみたところ見つかりませんでした。
private static final String BASE_URI = "http://twitter.com"
同じようなエラー文の書きましたが少し違っていたので報告します。
Exception in thread "AWT-EventQueue-0" com.sun.jersey.api.client.UniformInterfaceException: GET http://api.twitter.com/statuses/user_timeline.xml?count=1 returned a response status of 404 Not Found
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:676)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.get(WebResource.java:503)
at twitterclient.TwitterJFrame$TwitterClient.getUserTimeline(TwitterJFrame.java:262)
at twitterclient.TwitterJFrame.initUserInfo(TwitterJFrame.java:187)
at twitterclient.TwitterJFrame.<init>(TwitterJFrame.java:82)
at twitterclient.TwitterJFrame$3.run(TwitterJFrame.java:207)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701)
at java.awt.EventQueue.access$000(EventQueue.java:102)
at java.awt.EventQueue$3.run(EventQueue.java:662)
at java.awt.EventQueue$3.run(EventQueue.java:660)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:671)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
Timer Task is running
Exception when calling getFriendsTimeline = <?xml version="1.0" encoding="UTF-8"?>
<errors>
<error code="34">Sorry, that page does not exist</error>
</errors>
--
ありがとうございます。今後のために目を通します。