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

  • TwitterException: Impossible de se connecter
  • L'intégration d'Android Twitter en utilisant oauth et twitter4j
  • Utilisation de Twitter Streaming API
  • Publier un tweet avec l'API Android
  • Utilisation de Twitter4j dans Android, obtenant une erreur de peluches dans la bibliothèque - Référence de package invalide dans la bibliothèque
  • Retweet en utilisant Twitter4j Android
  • Pas de défis d'authentification trouvés Les discussions à venir peuvent être trouvées sur Internet à
  • Message - Vos informations d'identification ne permettent pas l'accès à cette ressource. Code - 220
  • 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.