java - example - twitter sdk android
Las credenciales de autenticaciĆ³n de Twitter4j faltan (1)
El problema es seguir líneas.
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = new TwitterFactory().getInstance();
Está transfiriendo la configuración a una instancia de TwitterFactory
y utilizando otra instancia de TwitterFactory
para obtener la instancia de Twitter
.
Por lo tanto, está obteniendo java.lang.IllegalStateException: Authentication credentials are missing
Le sugiero que modifique su código de la siguiente manera:
//Twitter Conf.
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey(CONSUMER_KEY)
.setOAuthConsumerSecret(CONSUMER_SECRET)
.setOAuthAccessToken(ACCESS_KEY)
.setOAuthAccessTokenSecret(ACCESS_SECRET);
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
Y usa esta instancia de twitter Funcionará.
Me gustaría hacer un tweet con Twitter4j en mi aplicación de Android. Aquí está mi código:
//TWITTER SHARE.
@Click (R.id. img_btn_twitter)
@Background
public void twitterPostWall(){
try {
//Twitter Conf.
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setDebugEnabled(true)
.setOAuthConsumerKey(CONSUMER_KEY)
.setOAuthConsumerSecret(CONSUMER_SECRET)
.setOAuthAccessToken(ACCESS_KEY)
.setOAuthAccessTokenSecret(ACCESS_SECRET);
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
try {
RequestToken requestToken = twitter.getOAuthRequestToken();
Log.e("Request token: ", "" + requestToken.getToken());
Log.e("Request token secret: ", "" + requestToken.getTokenSecret());
AccessToken accessToken = null;
}
catch (IllegalStateException ie) {
if (!twitter.getAuthorization().isEnabled()) {
Log.e("OAuth consumer key/secret is not set.", "");
}
}
Status status = twitter.updateStatus(postLink);
Log.e("Successfully updated the status to [", "" + status.getText() + "].");
}
catch (TwitterException te) {
Log.e("TWEET FAILED", "");
}
}
Siempre obtengo este mensaje de error de Twitter4j: java.lang.IllegalStateException: faltan las credenciales de autenticación. Ver http://twitter4j.org/en/configuration.html para los detalles. Pero como pueden ver, estoy usando Builder para configurar mi clave. ¿Alguien puede ayudarme a arreglarlo, por favor? Gracias.