这是将 Twitter 集成到 android 中的正确方法吗?谁能告诉我如何获得个人资料图片 URL?
Is this the right way of integrating Twitter in android? Can anyone tell how can I get Profile Image URL?
我正在尝试从 Twitter 获取个人资料图片,我不知道我需要调用什么方法来获取 url 授权该应用程序的人的个人资料图片,这是我的代码:
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);
}
}
应该添加什么代码来获取个人资料图像 Url?并且请告诉我这是否是添加 Twitter 登录的正确方法。
我不能说关于实现的任何最终结果,显然它很好,但这实际上取决于您的要求和应用程序 运行 环境。如果您正确地遵循了 documentation 并且它在使用不同帐户的少数设备上工作正常,那么它绝对没问题。
对于个人资料图片,如 documentation 所说:
You can obtain a user’s most recent profile image, along with the other components comprising their identity on Twitter, from GET users/show. Within the user object, you’ll find the profile_image_url and profile_image_url_https fields. These fields will contain the resized “normal” variant of the user’s uploaded image. This “normal” variant is typically 48px by 48px.
我相信这是获取用户详细信息的正确方法。但或者,如果您不想获取用户详细信息并保持简单,您可以使用更简单的方法来获取个人资料图片。 (我不能保证 Twitter 会支持多长时间,但是是的,它工作得很好 :))
其中 username
是用户的 Twitter 用户名,您可以通过在 success
方法中调用 session.getUserName()
com.twitter.sdk.android.core.Callback<TwitterSession>
我正在尝试从 Twitter 获取个人资料图片,我不知道我需要调用什么方法来获取 url 授权该应用程序的人的个人资料图片,这是我的代码:
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);
}
}
应该添加什么代码来获取个人资料图像 Url?并且请告诉我这是否是添加 Twitter 登录的正确方法。
我不能说关于实现的任何最终结果,显然它很好,但这实际上取决于您的要求和应用程序 运行 环境。如果您正确地遵循了 documentation 并且它在使用不同帐户的少数设备上工作正常,那么它绝对没问题。
对于个人资料图片,如 documentation 所说:
You can obtain a user’s most recent profile image, along with the other components comprising their identity on Twitter, from GET users/show. Within the user object, you’ll find the profile_image_url and profile_image_url_https fields. These fields will contain the resized “normal” variant of the user’s uploaded image. This “normal” variant is typically 48px by 48px.
我相信这是获取用户详细信息的正确方法。但或者,如果您不想获取用户详细信息并保持简单,您可以使用更简单的方法来获取个人资料图片。 (我不能保证 Twitter 会支持多长时间,但是是的,它工作得很好 :))
其中 username
是用户的 Twitter 用户名,您可以通过在 success
方法中调用 session.getUserName()
com.twitter.sdk.android.core.Callback<TwitterSession>