Twitter4J + Android: le défi d'authentification est une exception nulle

J'utilise la bibliothèque Twitter4J pour l'authentification OAuth, mais je reçois "Authentication Challenge is Null Exception" avant même qu'elle ouvre la page de connexion Twitter.

Voici le code.

Twitter twitter = new TwitterFactory().getInstance(); try { twitter.setOAuthConsumer(Startup.TWITTER_KEY, Startup.TWITTER_SECRET); String callbackURL = "twitter-client:///"; RequestToken rToken = twitter.getOAuthRequestToken(callbackURL); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(rToken.getAuthenticationURL()))); } catch(IllegalStateException e) { // access token is already available, or consumer key/secret is not set. if(!twitter.getAuthorization().isEnabled()){ System.out.println("OAuth consumer key/secret is not set."); System.exit(-1); } } catch(Exception e) { Toast.makeText(Home.this, "Network Host not responding: "+e.getMessage(),Toast.LENGTH_SHORT).show(); //This exception. } 

Exception:

E / Home (4393): Le défi d'authentification reçu est null E / Home (4393): Le défi d'authentification reçu est null. Les discussions à venir peuvent être sur Internet à: E / Home (4393): http://www.google.co.jp / Search? Q = 6c607809 ou E / Home (4393): http://www.google.co.jp/search?q=0f1d8134 E / Home (4393): TwitterException {exceptionCode = [6c607809-0f1d8134 cab4c0ac-d492a113] , StatusCode = -1, retryAfter = 0, rateLimitStatus = null, version = 2.2.2} E / Home (4393): sur twitter4j.internal.http.HttpClientImpl.request (HttpClientImpl.java:204) E / Home (4393) : À twitter4j.internal.http.HttpClientWrapper.request (HttpClientWrapper.java:65) E / Home (4393): à twitter4j.internal.http.HttpClientWrapper.post (HttpClientWrapper.java:102) E / Home (4393): à Twitter4j.auth.OAuthAuthorization.getOAuthRequestToken (OAuthAuthorization.java:108) E / Home (4393): à twitter4j.TwitterBaseImpl.getOAuthRequestToken (TwitterBaseImpl.java:271) E / Home (4393): à com.sharj.trafik.view. Home.askOAuth (Home.java:157) E / Home (4393): à c Om.sharj.trafik.view.Home.access $ 0 (Home.java: 143) E / Home (4393): à com.sharj.trafik.view.Home $ 3.onCliquez (Home.java:110) E / Home ( 4393): à android.view.View.performClick (View.java:2485) E / Home (4393): à android.view.View $ PerformClick.run (View.java:9080) E / Home (4393): à Android.os.Handler.handleCallback (Handler.java:587) E / Home (4393): à android.os.Handler.dispatchMessage (Handler.java:92) E / Home (4393): chez android.os.Looper. Loop (Looper.java:130) E / Home (4393): à android.app.ActivityThread.main (ActivityThread.java:3683) E / Home (4393): à java.lang.reflect.Method.invokeNative (méthode native ) E / Home (4393): à java.lang.reflect.Method.invoke (Method.java:507) E / Home (4393): à com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java : 839) E / Home (4393): à com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) E / Home (4393): à dalvik.system.NativeStart.main (méthode native) E / Accueil (4393): Causé par: java.io.IOException: Problème d'authentification reçu Est null E / Home (4393): à org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.processAuthHeader (HttpURLConnectionImpl.java:1153) E / Home (4393): à l'org.apache. Harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.processResponseHeaders (HttpURLConnectionImpl.java:1095) E / Home (4393): à org.apache.harmony.luni.internal.net.www.protocol.http. HttpURLConnectionImpl.retrieveResponse (HttpURLConnectionImpl.java:1048) E / Home (4393): à org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode (HttpURLConnectionImpl.java:726) E / Home ( 4393): à org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode (HttpsURLConnectionImpl.java:121) E / Home (4393): à twitter4j.internal.http.HttpResponseImpl. (HttpResponseImpl .java: 35) E / Home (4393): à twitter4j.internal.http.HttpClientImpl.request (HttpClientImpl.java:168) E / Home (4393): … 18 plus

Il contient les liens suivants, mais Google n'a pas beaucoup à ce sujet.

Http://www.google.co.jp/search?q=6c607809

Http://www.google.co.jp/search?q=0f1d8134

  • Comment puis-je obtenir un calendrier publique Twitter sans authentification utilisateur à l'aide de Twitter4j?
  • Utilisation de la bibliothèque Twitter4j pour Android
  • Pourquoi cette erreur '- L'application en lecture seule ne peut pas POSTER'
  • Application de Javascript uniquement authentification java android avec twitter4j
  • Twitter4j => AndroidRuntime (446): java.lang.NoClassDefFoundError: twitter4j.http.AccessToken
  • Les informations d'identification d'authentification Twitter4j sont manquantes
  • Comment obtenir des informations sur les utilisateurs depuis Twitter dans l'application Android?
  • Authentification Android twitter4j via l'application installée de Twitter et non le navigateur
  • 6 Solutions collect form web for “Twitter4J + Android: le défi d'authentification est une exception nulle”

    J'ai eu le même problème. Il s'est avéré que si l'horodatage sur l'appel d'oAuth est incorrect, le serveur renvoie une erreur d'état 401 qui, lors des appareils Android, provoque l'exclusion de l'exception d'authentification reçue nulle. Tous les appareils qui avaient ce problème avaient des temps incorrects, et la réparation des temps réglait le problème.

    C'est peut-être aussi votre problème?

    J'ai également eu le même problème. Tout d'abord, je l'ai fait en faisant getOAuthRequestToken() . Ma clé de consommation et le secret des consommateurs provenaient du fichier .properties et se sont révélés avoir un espace arrière, ce qui a été considéré comme invalide par l'API de Twitter.

    Après cela, j'avais aussi le même 401 quand getOAuthAccessToken() fais getOAuthAccessToken() . Ici, je n'étais pas correctement persistant et reconstruisais l'objet RequestToken .

    Cela est arrivé pour moi lorsque j'ai appelé les deux suivants deux fois de suite:

      requestToken = twitter.getOAuthRequestToken(); return requestToken.getAuthorizationURL(); 

    FIXE: J'ai eu cette exception, même après avoir réparé la date et l'heure, mais quand j'ai regardé dans logcat aux params que twittherj a envoyé au serveur, l'horodatage était toujours faux – alors j'ai forcé-fermé l'application et après que cette exception a disparu.

    Moi aussi, j'ai rencontré ce problème. Vérifiez ma solution dans un autre thread Android: Twitter4J Exception (Revenue Authentication Challenge is Null)

    J'ai eu le même problème et l'ai corrigé en utilisant la tâche asynchrone, car j'ai répondu dans le lien suivant. Erreur d'exception Twitter Android 🙁

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.