我正在将 twitter 集成到我的 android 应用程序中。我能够为用户授权该应用程序。现在,我正在寻找 API,它可以为我提供登录的用户信息,例如名字、姓氏、电子邮件等。我已经为 facebook 做了这个
facebook.request("我");
现在如何从 twitter 获取用户信息?我正在使用 twitter4j-core-android2.2.3.jar。请让我知道有没有办法获取用户信息。
最后我得到了用户信息。
使用您获得的访问令牌
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();
谢谢。
这里有一些教程可以帮助您使用 twitter 运行应用程序。
如果您只需要检索特定用户的信息,可以查看此处(包括源代码):
如果您想与 twitter 交互(例如发布更新等),那么您需要设置 OAuth 连接:
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)
{
}
});
除非或直到您的应用程序被列入白名单,否则您无法从twitter OAuth获取电子邮件。来自 Twitter的更多信息 电子邮件 ID
您可以查看以下代码:要获取用户信息,您可以使用 Twitter Fabric SDK。它的文档在这里和这里
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;
在此响应中,您可以在没有用户电子邮件的情况下获得所有凭据。