Tôi nhận được thông tin từ Twitter Android lý Tài khoản sử dụng đoạn mã sau:Sử dụng thông tin Android lý Tài khoản Twitter để tạo 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);
Tôi đang sử dụng các giá trị trở về từ các callbacks để thiết lập một đối tượng Twitter4J Twitter:
Twitter twitter = new TwitterFactory().getInstance();
twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
twitter.setOAuthAccessToken(new AccessToken(token, tokenSecret));
User user = twitter.verifyCredentials();
Nhưng nó tạo ra ngoại lệ sau khi gọi 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)
Tôi đã thử gọi invalidateAuthToken trên Trình quản lý tài khoản trước khi yêu cầu mã thông báo, nhưng điều đó không tạo ra bất kỳ sự khác biệt nào.
Tôi có thể gọi thành công verifyCredentials khi thiết lập mã thông báo và giá trị tokenSecret cho những ứng dụng được cung cấp bởi Twitter cho ứng dụng của tôi, nhưng tôi cần có khả năng sử dụng thông tin đăng nhập twitter của người dùng thiết bị hiện tại.
Có bất kỳ bước nào khác cần thiết để sử dụng giá trị bí mật mã thông báo và mã thông báo được trả về từ Trình quản lý tài khoản để thiết lập AccessToken không?
Điều này đã được thử nghiệm trên HTC Evo, chạy Android 2.3.5.
Một lưu ý: Tôi không nghĩ 'invalidateAuthToken' hoạt động mà không chuyển chuỗi mã thông báo hiện tại. – devnate
Tôi cũng gặp vấn đề tương tự! Không có ý tưởng làm thế nào để giải quyết nó –