我在我的Android应用程序中集成了twitter。我可以为用户授权应用程序。现在,我正在寻找API,它为我提供了记录用户的信息,如名字,姓氏,电子邮件等。 我用
为Facebook做了这个facebook.request( “我”);
现在如何从Twitter获取用户信息? 我使用的是twitter4j-core-android2.2.3.jar。 Plz让我知道有没有办法获取用户信息。
答案 0 :(得分:18)
最后我收到了用户信息。
使用
后获得的访问令牌accessToken = twitterConnection.getOAuthAccessToken
(requestToken,editPinCode.getText().toString());
oHelper.storeAccessToken(accessToken);
Log.i("Access Token:", accessToken.getToken());
Log.i("Access Secret:", accessToken.getTokenSecret());
long userID = accessToken.getUserId();
User user = twitterConnection.showUser(userID);
user.getName();
感谢。
答案 1 :(得分:2)
这里有一些教程可以帮助您使用Twitter运行应用程序..
如果您只需要检索特定用户的信息,可以查看此处(包括源代码):
Basic Adroid Twitter Integration
如果您想与Twitter互动(例如发布更新等),则需要设置OAuth连接:
答案 2 :(得分:2)
Twitter.getApiClient(session).getAccountService().verifyCredentials(true, false).enqueue(new Callback<User>()
{
@Override
public void success(Result<User> userResult)
{
try
{
User user = userResult.data;
// twitterImage = user.profileImageUrl;
} catch (Exception e)
{
e.printStackTrace();
}
}
@Override
public void failure(TwitterException e)
{
}
});
答案 3 :(得分:1)
您无法从 Twitter OAuth 获取电子邮件,除非您的应用已列入白名单。 欲了解更多信息 Email ID from Twitter
答案 4 :(得分:0)
您可以查看以下代码:要获取用户信息,您可以使用Twitter Fabric SDK。其文档为here和here
twitterButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {
// Do something with result, which provides a TwitterSession for making API calls
AccountService ac = Twitter.getApiClient(result.data).getAccountService();
ac.verifyCredentials(true, true, new Callback<com.twitter.sdk.android.core.models.User>() {
@Override
public void success(Result<com.twitter.sdk.android.core.models.User> result) {
String imageUrl = result.data.profileImageUrl;
String email = result.data.email;
String userName = result.data.name;
System.out.println(imageUrl);
System.out.println(email);
System.out.println(userName);
}
@Override
public void failure(TwitterException e) {
Log.d("ls",e.getMessage());
}
});
}
@Override
public void failure(TwitterException exception) {
Toast.makeText(getApplicationContext(),
getResources().getString(R.string.app_name),
Toast.LENGTH_SHORT).show();
}
});
此处twitterButton
为
import com.twitter.sdk.android.core.identity.TwitterLoginButton;
在此回复中,您可以在没有用户电子邮件的情况下获得所有凭证。