sto ricevendo le credenziali di Twitter dal AccountManager Android utilizzando il seguente codice:utilizzando le credenziali di Android AccountManager Twitter per creare Twitter4J access token
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);
sto usando i valori restituiti dalle funzioni di callback per impostare un oggetto Twitter4J Twitter:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
twitter.setOAuthAccessToken(new AccessToken(token, tokenSecret));
User user = twitter.verifyCredentials();
ma genera la seguente eccezione quando si chiama VerifyCredentials():
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)
Ho provato a chiamare invalidateAuthToken sull'AccountManager prima di richiedere i token, ma questo non ha fatto alcuna differenza.
Posso chiamare correttamente verifyCredentials quando si impostano i valori token e tokenSecret a quelli forniti da Twitter per la mia app, ma devo essere in grado di utilizzare le credenziali di Twitter degli utenti del dispositivo corrente.
Esistono altri passaggi necessari per utilizzare i valori dei token e dei token secret restituiti da AccountManager per configurare un AccessToken?
Questo è stato testato su un HTC Evo, con Android 2.3.5.
Una nota: non penso che 'invalidateAuthToken' funzioni senza passare la stringa token corrente. – devnate
Anche io sto vivendo lo stesso problema! Non ho idea di come risolverlo –