我正在尝试从Twitter获取个人资料图片,我不知道我需要调用什么方法来获取授权应用程序的人的个人资料图片的URL,这是我的代码:
< strong> MainActivity.class
public class MainActivity extends AppCompatActivity {
private static final String TWITTER_KEY = "TWITTER_KEY";
private static final String TWITTER_SECRET = "TWITTER_SECRET";
private TwitterLoginButton loginButton;
private long TwitterID;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
Fabric.with(this, new Twitter(authConfig));
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
loginButton = (TwitterLoginButton) findViewById(R.id.twitter_login_button);
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) {Twitter.getInstance().core.getSessionManager().getActiveSession()
TwitterSession session = result.data;
TwitterID = session.getId();
String msg = "@" + session.getUserName() + " logged in! (#" + session.getUserId() + ")" + "\nid = " + TwitterID;
Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_LONG).show();
}
@Override
public void failure(TwitterException exception) {
Toast.makeText(getApplicationContext(), "Keep it up rest is piece of Cake", Toast.LENGTH_LONG).show();
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
loginButton.onActivityResult(requestCode, resultCode, data);
}
}
为获取个人资料图片网址而添加的代码应该是什么?并且请告诉我,如果这是正确的方式来添加Twitter登录。
答案 0 :(得分:1)
我不能说任何关于实现的最终事情,显然它很好,但这实际上取决于您的要求和应用程序运行环境。如果您已正确使用documentation并且在少数设备上使用不同帐户,那么它绝对没问题。
对于个人资料图片,documentation表示:
您可以从GET users/show获取用户最新的个人资料图片以及在Twitter上包含其身份的其他组件。在user object中,您可以找到profile_image_url和profile_image_url_https字段。这些字段将包含用户上传图像的已调整大小的“普通”变体。这种“正常”变体通常为48px乘48px。
我认为这是获取用户详细信息的正确方法。但另外,如果您不想获取用户详细信息并保持简单,您可以使用更简单的方式来获取个人资料图片。 (我不能保证Twitter将支持多久这一点,但是它确实很完美:))
其中username
是用户的 Twitter用户名,您可以通过session.getUserName()
方法success
com.twitter.sdk.android.core.Callback<TwitterSession>
来调用