Ich erhalte Twitter-Anmeldeinformationen aus dem Android Accountmanager mit dem folgenden Code zu erstellen:Mit Android Account Twitter-Anmeldeinformationen Twitter4J AccessToken
AccountManager am = AccountManager.get(this);
Account account = am.getAccountsByType("com.twitter.android.auth.login")[0];
am.invalidateAuthToken("com.twitter.android.auth.login", null);
am.getAuthToken(account, "com.twitter.android.oauth.token", null, this, createCallback(TOKEN), null);
am.getAuthToken(account, "com.twitter.android.oauth.token.secret", null, this, createCallback(TOKEN_SECRET), null);
Ich verwende die Werte aus dem Callbacks Setup zurück ein Twitter4J Twitter Objekt:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
twitter.setOAuthAccessToken(new AccessToken(token, tokenSecret));
User user = twitter.verifyCredentials();
Aber es generiert die folgende Ausnahme, wenn verifyCredentials() aufrufe:
Exception connecting to twitter
Received authentication challenge is null
Relevant discussions can be found on the Internet at:
http://www.google.co.jp/search?q=6f0f59ca or
http://www.google.co.jp/search?q=200bae40
TwitterException{exceptionCode=[6f0f59ca-200bae40 1de2170b-e16a1586], statusCode=-1, message=null, code=-1, retryAfter=-1, rateLimitStatus=null, version=3.0.2}
at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:192)
at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:61)
at twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:89)
at twitter4j.TwitterBaseImpl.fillInIDAndScreenName(TwitterBaseImpl.java:126)
at twitter4j.TwitterImpl.verifyCredentials(TwitterImpl.java:578)
Ich habe versucht, invalidateAuthToken auf dem AccountManager aufzurufen, bevor ich die Token anfordere, aber das hat keinen Unterschied gemacht.
Ich kann verifyCredentials erfolgreich aufrufen, wenn ich die Werte token und tokenSecret auf die von Twitter für meine App angegebenen Werte festlege, aber ich muss in der Lage sein, die aktuellen twitter-Anmeldeinformationen der Gerätebenutzer zu verwenden.
Sind weitere Schritte erforderlich, um die vom AccountManager zurückgegebenen Token- und Token-Secret-Werte zum Einrichten eines AccessToken zu verwenden?
Dies wurde auf einem HTC Evo mit Android 2.3.5 getestet.
Eine Anmerkung: Ich glaube nicht, dass 'invalidateAuthToken' funktioniert, ohne die aktuelle Token-Zeichenfolge zu übergeben. – devnate
Ich habe auch das gleiche Problem! Keine Ahnung, wie es zu lösen ist –