Android - Fabric.io Twitter REST API 个人资料图片/图片
Android - Fabric.io Twitter REST API profile image / picture
有谁知道是否有办法通过应用拉取已登录用户的个人资料图片,以便在他们四处导航时将其放置在 ActionBar 上?
欢迎提供提示、技巧、示例和下载:)
如果你能帮助我,请假设我对基础之外的任何事情知之甚少Java!
再次感谢大家x
您可以使用 /1.1/users/show.json
获取用户的个人资料图片。推特数据可以参考REST API URLs
通过扩展 TwitterApiClient
我们可以从 URL.
检索 Twitter 数据
class MyTwitterApiClient extends TwitterApiClient {
public MyTwitterApiClient(TwitterSession session) {
super(session);
}
public UsersService getUsersService() {
return getService(UsersService.class);
}
}
interface UsersService {
@GET("/1.1/users/show.json")
void show(@Query("user_id") Long userId,
@Query("screen_name") String screenName,
@Query("include_entities") Boolean includeEntities,
Callback<User> cb);
}
接下来,获取UsersService
并调用它的show方法,传入定义的查询参数。我根据记录的参数定义了查询参数。
new MyTwitterApiClient(session).getUsersService().show(12L, null, true,
new Callback<User>() {
@Override
public void success(Result<User> result) {
Log.d("twittercommunity", "user's profile url is "
+ result.data.profileImageUrlHttps);
}
@Override
public void failure(TwitterException exception) {
Log.d("twittercommunity", "exception is " + exception);
}
});
礼貌:https://twittercommunity.com/t/android-get-user-profile-image/30579/2
这就是我的工作方式:
TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient();
twitterApiClient.getAccountService().verifyCredentials(false,false, new Callback<User>() {
@Override
public void success(Result<User> userResult) {
String name = userResult.data.name;
String profilebannerurl = userResult.data.profileBannerUrl;
String profileurl = userResult.data.profileImageUrl;
}
@Override
public void failure(TwitterException e) {
}
});
我已将这段代码放入我的 LoginButton 回调方法中:
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) { <insert here> }
我是用自定义按钮完成的,这是由它的 onClick 侦听器执行的代码:
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_API_KEY, TWITTER_API_SECRET);
Fabric.with(activity, new Twitter(authConfig));
TwitterCore.getInstance().getApiClient().getAccountService().verifyCredentials(false, false, new com.twitter.sdk.android.core.Callback<User>() {
@Override
public void success(Result<User> result) {
Log.d(TAG, "Twitter log in success");
String userName = result.data.screenName;
int userId = result.data.id;
String pictureUrl = result.data.profileImageUrl;
String coverUrl = result.data.profileBannerUrl;
}
@Override
public void failure(TwitterException e) {
Log.d(TAG, "Twitter log in error : " + e.getMessage());
}
});
我应该要求用户授权访问您的应用程序,如果他接受则让他登录。
有谁知道是否有办法通过应用拉取已登录用户的个人资料图片,以便在他们四处导航时将其放置在 ActionBar 上?
欢迎提供提示、技巧、示例和下载:)
如果你能帮助我,请假设我对基础之外的任何事情知之甚少Java!
再次感谢大家x
您可以使用 /1.1/users/show.json
获取用户的个人资料图片。推特数据可以参考REST API URLs
通过扩展 TwitterApiClient
我们可以从 URL.
class MyTwitterApiClient extends TwitterApiClient {
public MyTwitterApiClient(TwitterSession session) {
super(session);
}
public UsersService getUsersService() {
return getService(UsersService.class);
}
}
interface UsersService {
@GET("/1.1/users/show.json")
void show(@Query("user_id") Long userId,
@Query("screen_name") String screenName,
@Query("include_entities") Boolean includeEntities,
Callback<User> cb);
}
接下来,获取UsersService
并调用它的show方法,传入定义的查询参数。我根据记录的参数定义了查询参数。
new MyTwitterApiClient(session).getUsersService().show(12L, null, true,
new Callback<User>() {
@Override
public void success(Result<User> result) {
Log.d("twittercommunity", "user's profile url is "
+ result.data.profileImageUrlHttps);
}
@Override
public void failure(TwitterException exception) {
Log.d("twittercommunity", "exception is " + exception);
}
});
礼貌:https://twittercommunity.com/t/android-get-user-profile-image/30579/2
这就是我的工作方式:
TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient();
twitterApiClient.getAccountService().verifyCredentials(false,false, new Callback<User>() {
@Override
public void success(Result<User> userResult) {
String name = userResult.data.name;
String profilebannerurl = userResult.data.profileBannerUrl;
String profileurl = userResult.data.profileImageUrl;
}
@Override
public void failure(TwitterException e) {
}
});
我已将这段代码放入我的 LoginButton 回调方法中:
loginButton.setCallback(new Callback<TwitterSession>() {
@Override
public void success(Result<TwitterSession> result) { <insert here> }
我是用自定义按钮完成的,这是由它的 onClick 侦听器执行的代码:
TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_API_KEY, TWITTER_API_SECRET);
Fabric.with(activity, new Twitter(authConfig));
TwitterCore.getInstance().getApiClient().getAccountService().verifyCredentials(false, false, new com.twitter.sdk.android.core.Callback<User>() {
@Override
public void success(Result<User> result) {
Log.d(TAG, "Twitter log in success");
String userName = result.data.screenName;
int userId = result.data.id;
String pictureUrl = result.data.profileImageUrl;
String coverUrl = result.data.profileBannerUrl;
}
@Override
public void failure(TwitterException e) {
Log.d(TAG, "Twitter log in error : " + e.getMessage());
}
});
我应该要求用户授权访问您的应用程序,如果他接受则让他登录。