android authentication twitter twitter4j

Twitter4j getOAuthRequestToken() con devolución de llamada URL falla en Android?



authentication (2)

De acuerdo, lo descubrí y espero que cualquier persona que se encuentre con el mismo problema no tenga que sufrir como yo.

1) El error "El host no está resuelto: api.twitter.com:80" proviene del hecho de que el dispositivo no tenía una señal WiFi o conectividad 3G (el WiFi es un poco inestable en la oficina en la que trabajo).

2) getOAuthRequestToken() falla en cualquier versión de Android superior a 3.0 Honeycomb porque las solicitudes HTTP deben realizarse en un hilo separado del hilo de la interfaz de usuario. Tuve este problema porque había configurado la versión de destino en mi manifiesto de Android 4.0 Ice Cream Sandwich.

Intento integrar Twitter en mi aplicación para Android y parece que Twitter4j no puede registrar mi aplicación.

Todos los tutoriales y preguntas sobre el problema que he visto para Android han tenido años y las cosas parecen haber cambiado desde entonces.

Seguí los pasos de este tutorial y usé el código fuente proporcionado para probar la conexión a Twitter. Sabiendo que la versión de Twitter4j suministrada con el código fuente estaba desactualizada, la actualicé más tarde y la versión más reciente, pero todo fue en vano.

private void loginNewUser() { try { Log.i(TAG, "Request App Authentication"); // This line fails with error "Host is unresolved: api.twitter.com:80 mReqToken = mTwitter.getOAuthRequestToken(); Log.i(TAG, "Starting Webview to login to twitter"); WebView twitterSite = new WebView(this); twitterSite.loadUrl(mReqToken.getAuthenticationURL()); setContentView(twitterSite); } catch (TwitterException e) { Log.e("errors", e.getMessage()); Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); } }

¡De cualquiera que tenga un código de inicio de sesión que funcione usando Twitter4j o conozca una solución al problema, le agradeceré que me lo cuente!


También tuve este problema y la razón por la que no pude iniciar sesión en Twitter es porque modifiqué la hora y la fecha de mi dispositivo para realizar pruebas.

Una vez que coloqué la fecha y la hora correctas, el inicio de sesión en Twitter funcionó.

Espero que ayude a cualquiera.