TwitterException con XAUTH durante la pubblicazione da Android utilizzando Twitter4j
Domanda
Sto usando twitter4j-2.1.3.jar per fare un semplice post di Twitter. L'utilizzo di codice che è il seguente:
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");
Il messaggio di errore che ottengo è:
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)
ho provato un altro modo in questo modo:
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");
In entrambi i metodi ottengo l'errore a "twitter.getOAuthAccessToken) (" linea. Per favore fatemi sapere che cosa è il male. Ho registrato la mia app esattamente 14 ore prima, per ottenere la chiave segreta e il consumatore. E 'questo qualcosa a che fare con l'approvazione del mio app per l'uso XAUTH, se sì, come posso sapere se hanno permesso XAuth per la mia applicazione su Twitter.
Soluzione
Hai inviato via email il supporto Twitter per ottenere loro di accendere XAuth per la vostra applicazione?
Twitter vuole solo XAUTH per essere utilizzati da desktop e applicazioni mobili, applicazioni in modo registrati hanno XAUTH disabilitati di default, e avete bisogno di qualcuno su Twitter per accenderlo per voi. Se l'applicazione non ha XAUTH attivato, si ottiene un 401.
Per ottenere XAUTH abilitato, inviare una mail a api@twitter.com con il nome della vostra applicazione e la ragione per cui ha bisogno XAUTH invece di pianura vecchio OAuth (ad es. Non è opportuno pop-up un browser web nella mia applicazione desktop ).
Grazie Dhrumil Shah
Altri suggerimenti
Hai controllato questi posti ??
http://groups.google.com/group / twitter4j / browse_thread / filetto / d6dca9622f7cc42a? fwc = 1
Passaggio della versione ha risolto questo problema per una persona
<dependency>
<groupId>org.twitter4j</groupId>
<artifactId>twitter4j-core</artifactId>
<version>2.1.0</version>
</dependency>
Ho post sul blog su Twitter OAuth utilizzando Twitter4j e altre librerie. È possibile seguire che: http://blog.sogeti.com/mobile/ 2010/03 / twitter-OAuth-per-android.html
Anche se si utilizza Twitter4j2.1.3 essere Awre che sia compatibile con Android 2.0 e superiori. Fatemi sapere se avete ancora problemi faccia come ho un sviluppato un'applicazione completa Twitter usando Twitter4j 2.0.9.
Sono d'accordo con Dhrumil Shah : email Twitter a api@twitter.com per chiedere l'applicazione per avere xAuth abilitato. Sembra che non si è ancora fatto, così poi il metodo del servizio XAuth restituisce solo HTTP 401 quando si chiama.