1

私はtwitter4j-2.1.3.jarを使用して、twitterに簡単な投稿をしています。私が使用するコードは次のとおりです。

System.setProperty("twitter4j.oauth.consumerKey", TWITTER_CONSUMER_KEY);
System.setProperty("twitter4j.oauth.consumerSecret",TWITTER_SECRET_KEY); 
Twitter twitter = new TwitterFactory().getInstance(username,password);
AccessToken accessToken = twitter.getOAuthAccessToken();
twitter.updateStatus(": xAuth test");

私が受け取るエラーメッセージは次のとおりです。

 TwitterException{exceptionCode=[e07c50ee-0000d883 1ac06e3f-626a1296], statusCode=401,   retryAfter=0, rateLimitStatus=null, version=2.1.3}

   at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:185)
   at twitter4j.TwitterOAuthSupportBaseImpl.getOAuthAccessToken(TwitterOAuthSupportBaseImpl.java:108)
   at twitter4j.Twitter.getOAuthAccessToken(Twitter.java:54)
   at com.sfway.detailpage.CheckinTab$16$1.run(CheckinTab.java:640)
   TwitterException{exceptionCode=[1ac06e3f-626a1296], statusCode=401, retryAfter=0, rateLimitStatus=null, version=2.1.3}
   at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:307)
   at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)
   at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:103)
   at twitter4j.http.OAuthAuthorization.getOAuthAccessToken(OAuthAuthorization.java:178)

私はこのような他の方法を試しました:

ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
configurationBuilder.setOAuthConsumerSecret(TWITTER_SECRET_KEY);
Configuration configuration = configurationBuilder.build();
twitter = new TwitterFactory(configuration).getInstance(username,password);
AccessToken token = twitter.getOAuthAccessToken();
twitter.updateStatus(": xAuth test");

どちらの方法でも、「twitter.getOAuthAccessToken()」行でエラーが発生します。何が悪いのか教えてください。秘密鍵と消費者鍵を取得するために、ちょうど14時間前にアプリを登録しました。これは、xAuthを使用するための私のアプリの承認と関係がありますか?はいの場合、Twitterで私のアプリケーションに対してXAuthが有効になっているかどうかをどのように知ることができますか。

4

4 に答える 4

2

Twitterサポートにメールを送信して、アプリケーションでxAuthをオンにしてもらいましたか?

TwitterはxAuthをデスクトップおよびモバイルアプリケーションでのみ使用することを望んでいるため、登録済みのアプリケーションではデフォルトでxAuthが無効になっており、Twitterの誰かがxAuthをオンにする必要があります。アプリケーションでxAuthが有効になっていない場合は、401を取得します。

xAuthを有効にするには、アプリケーションの名前と、従来のOAuthの代わりにxAuthが必要な理由を記載したメールをapi@twitter.comに送信します(たとえば、デスクトップアプリケーションでWebブラウザーをポップアップするのは適切ではありません)。

ありがとうDhrumilShah

于 2010-09-10T12:28:57.347 に答える
0

これらの投稿を確認しましたか?

http://groups.google.com/group/twitter4j/browse_thread/thread/d6dca9622f7cc42a?fwc=1

バージョンを切り替えることで、この問題は解決しました。

<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>2.1.0</version>
</dependency> 
于 2010-09-02T07:01:52.010 に答える
0

Twitter4jやその他のライブラリを使用してTwitterOAuthにブログ投稿があります。あなたはそれに従うことができます:http: //blog.sogeti.com/mobile/2010/03/twitter-oauth-for-android.html

また、Twitter4j2.1.3を使用している場合は、Android2.0以降と互換性があることに注意してください。Twitter4j 2.0.9を使用して完全なTwitterアプリを開発したので、まだ問題が発生する場合はお知らせください。

于 2010-09-02T13:04:17.887 に答える
0

Dhrumil Shahに同意します。アプリケーションでxAuthを有効にするように依頼するには、Twitter(api@twitter.com)に電子メールを送信してください。まだこれを行っていないようです。そのため、xAuthサービスメソッドは、呼び出したときにのみHTTP401を返します。

于 2010-09-16T08:48:31.920 に答える