[英]How to get User Information form Twitter Api
我無法從Twitter Api獲取信息,沒有提供任何信息,我需要用戶個人資料圖片,電子郵件和用戶個人帳戶信息,我已經嘗試了網上發現的幾乎所有內容,
ConfigurationBuilder builder = new ConfigurationBuilder();
builder.setOAuthConsumerKey(CONSUMER_KEY);
builder.setOAuthConsumerSecret(CONSUMER_SECRET);
Configuration configuration = builder.build();
TwitterFactory factory = new TwitterFactory(configuration);
twitter = factory.getInstance();
try {
User user = twitter.showUser(mTwitter.getUsername());
} catch (TwitterException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
但是,它說auth錯誤沒有提供任何信息。
1。
twitter_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
client.authorize(SignUpToConnectActivity.this, new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
String oauth_token_secret = result.data.getAuthToken().secret;
String oauth_token = result.data.getAuthToken().token;
TwitterSession user = result.data;
getUserDetails(user);
}
@Override
public void failure(TwitterException exception) {
//
}
});
}
})
2。
public void getUserDetails(TwitterSession twitterSession) {
Twitter.getApiClient(twitterSession).getAccountService().verifyCredentials(true, false).enqueue(new Callback<User>() {
@Override
public void success(Result<User> userResult) {
try {
User user = userResult.data;
String fullname = user.name;
String twitterID = user.getId();
String userSocialProfile = user.profileImageUrl;
String userEmail = user.email;
String userFirstNmae = fullname.substring(0, fullname.lastIndexOf(" "));
String userLastNmae = fullname.substring(fullname.lastIndexOf(" "));
String userScreenName = user.screenName;
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void failure(TwitterException e) {
}
});
}
使用此功能,您可以獲取用戶信息。
這適用於我Twitter 3+ API調用更改
twitterLoginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
// Do something with result, which provides a TwitterSession for making API calls
TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient();
AccountService accountService = twitterApiClient.getAccountService();
Call<com.twitter.sdk.android.core.models.User> call = accountService.verifyCredentials(true, true, true);
call.enqueue(new Callback<com.twitter.sdk.android.core.models.User>() {
@Override
public void success(Result<com.twitter.sdk.android.core.models.User> result) {
//here we go User details
}
@Override
public void failure(TwitterException exception) {
}
});
}
@Override
public void failure(TwitterException exception) {
// Do something on failure
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.