it-swarm.com.de

Fehler beim Abrufen des Anforderungstokens auf Android M-Geräten

Twitter-Anmeldung in Android 6.0-Vorschaugeräten fehlgeschlagen Es funktioniert gut auf allen anderen Geräten.

Der folgende Code wird zum Initialisieren von Stoff mit Twitter verwendet.

Die Schlüssel Twitter_KEY und Twitter_SECRET wurden über die Einstellungen der Twitter-App abgerufen.

    TwitterAuthConfig authConfig = new TwitterAuthConfig(Twitter_KEY, Twitter_SECRET);
    Fabric.with(this, new Twitter(authConfig));

Hier ist das Fehlerprotokoll, das ich beim Anmelden mit TwitterApiClient erhalten habe.

  08-31 07:52:09.988 4692-4692/? E/Twitter: Failed to get request token
  08-31 07:52:09.988 4692-4692/? E/Twitter: com.Twitter.sdk.Android.core.TwitterApiException: 401 Authorization Required
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.Java:383)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.Java:220)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.Java:278)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.CallbackRunnable.run(CallbackRunnable.Java:42)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1113)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:588)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at retrofit.Platform$Android$2$1.run(Platform.Java:142)
  08-31 07:52:09.988 4692-4692/? E/Twitter: at Java.lang.Thread.run(Thread.Java:818)
  08-31 07:52:10.000 4692-4692/? E/Twitter: Authorization completed with an error
  08-31 07:52:10.000 4692-4692/? E/Twitter: com.Twitter.sdk.Android.core.TwitterAuthException: Failed to get request token
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.Twitter.sdk.Android.core.identity.OAuthController$1.failure(OAuthController.Java:95)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.Twitter.sdk.Android.core.internal.oauth.OAuth1aService$1.failure(OAuth1aService.Java:215)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.Twitter.sdk.Android.core.Callback.failure(Callback.Java:45)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at retrofit.CallbackRunnable$2.run(CallbackRunnable.Java:53)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at Android.os.Handler.handleCallback(Handler.Java:739)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at Android.os.Handler.dispatchMessage(Handler.Java:95)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at Android.os.Looper.loop(Looper.Java:148)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at Android.app.ActivityThread.main(ActivityThread.Java:5417)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at Java.lang.reflect.Method.invoke(Native Method)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.Android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.Java:726)
  08-31 07:52:10.000 4692-4692/? E/Twitter: at com.Android.internal.os.ZygoteInit.main(ZygoteInit.Java:616)
12
Arunkumar MG

Hier sind die Dinge, die Sie tun müssen

Twitter dev account-> setting-> callBack url

und dann, wenn Sie für Android tun (bedeutet Anmeldung mit für Android-Geräte)

twittersdk: //
(im Rückruf hinzufügen)

wenn Sie für iOS arbeiten (bedeutet, dass Sie sich mit Apple-Geräten anmelden)

twitterkit-CONSUMERKEY: //
(im Rückruf hinzufügen)

und drücke Update Einstellungen Knopf es wird funktionieren :)

16
vallabh

Vor dieser Lösung habe ich versucht, gültige URL und sogar google.com zu. Aber für meinen Fall hat es nicht funktioniert.

ich fand unten Lösung und es funktioniert gut für mich.

Schritt 1: Gehe zu deiner Twitter App Einstellung https://apps.Twitter.com/ >> Tab Einstellungen >> Fülle diesen Text aus " twittersdk: // " zu Ihrem Rückruf-URL-Feld (ich fand es in der Lib-Klasse)

Schritt 2: Speichern Sie Ihr Update

Schritt 3: Überprüfe deine App erneut

13
Moinkhan

Ich habe das gleiche Problem und gelöst. In meinem Fall muss ich Rückruf-URL im Twitter-Dev-Konto einstellen.

Twitter dev account-> setting-> callBack url (setze eine gültige URL wie www.google.com)

8
tej shah

dies ist die beste Lösung, wenn die Twitter-Authentifizierung ohne App nicht funktioniert. Ich habe es mit einer gültigen Firebase-Auth-Callback-URL versucht, aber es funktioniert nicht. Außerdem habe ich dieses Problem häufig gesucht, aber nicht die exakte Lösung gefunden. @Moinkhan Die Lösung hat für mich funktioniert und dank @Moinkhan Zeit gespart , es funktioniert

Vor dieser Lösung habe ich eine gültige URL und sogar google.com ausprobiert. Aber für meinen Fall hat es nicht funktioniert.

ich fand unten Lösung und es funktioniert gut für mich.

Schritt 1: Gehe zu deiner Twitter App Einstellung https://apps.Twitter.com/ >> Tab Einstellungen >> Fülle diesen Text "twittersdk: //" in dein Callback URL Feld (ich habe ihn in lib class gefunden )

Schritt 2: Speichern Sie Ihr Update

Schritt 3: Überprüfen Sie Ihre App erneut

7
Naveen

Ich hatte das gleiche Problem (nur wenige Augenblicke zurück).

Gehen Sie zu Twitter Application Management ->
Klicken Sie auf die 'App', an der Sie gerade arbeiten ->
Klicken Sie auf die Registerkarte "Einstellungen" ->
1) Rückruf-URL : Geben Sie eine gültige URL ein (wie die Homepage Ihrer Website)
2) Rückrufsperre aktivieren (Es wird empfohlen, die Rückrufsperre zu aktivieren, um sicherzustellen, dass Apps die Rückruf-URL nicht überschreiben können) : Vergewissern Sie sich, dass nicht markiert ist

Twitter Kit versucht, eine Webansicht zu verwenden, wenn Twitter-App nicht gefunden wird.
Das Webview-Teil des Twitter-Kits muss überschreiben die Rückruf-URL .

In den Informationen zu Rückruf-URL ist Folgendes eindeutig angegeben: Um zu verhindern, dass Ihre Anwendung Rückrufe verwendet, lassen Sie dieses Feld leer.
Also müssen wir jede gültige URL aufschreiben :)

Referenz:
Persönliche Erfahrung Momente zurück erhalten: P
Anforderungstoken konnte nicht abgerufen werden

4
Vinay Vissh

Nachdem ich viele Lösungen durchgearbeitet habe, ist eine, die für mich funktioniert hat, einfach - twittersdk: // als eine weitere Rückruf-URL im Einstellungsbereich Ihrer Twitter-App hinzuzufügen.

0

Erstellen Sie Ihr Zugriffstoken auf den Registerkarten Schlüssel und Zugriffstoken

0
Naveen Kumar M

Ich hatte das gleiche Problem unter iOS und fand einen Hinweis hier :
Anscheinend ist es jetzt erforderlich, die Rückruf-URL auf einzustellen

http://Twitter-oauth.callback

Ist mir das gelungen, funktioniert der Login wieder.

0