我正在尝试使用 twitter4j 来获取 twitter 用户时间线状态和有关它们的信息。问题是在 twitter 中有一些附加到一些状态的图像,但 twitter4j 返回空的媒体实体。这是我的代码:for (Status status : twStatuses) { String Iurl = status.getUser().getProfileImageURL(); twitterLink.add("https://twitter.com/" + status.getUser().getScreenName() + "/status/" + status.getId()); twitterText.add(status.getText()); ExtendedMediaEntity[] media = status.getExtendedMediaEntities(); //get the media entities from the status if (media.length == 0) { twitterImage.add("0"); } else { for (ExtendedMediaEntity mediaEntity : media) { if (mediaEntity.getMediaURL().equals("")) { twitterImage.add("0"); } else { twitterImage.add(mediaEntity.getMediaURL()); } } } twitterDate.add(status.getCreatedAt().toString()); }
1 回答
暮色呼如
TA贡献1853条经验 获得超9个赞
我记得,我以前是这样用的:编辑:这只是为了获取 1 张图像。
for(MediaEntity me : status.getMediaEntities()){
if(me.getMediaURLHttps() != null)//also check blank
twitterImage.add(me.getMediaURLHttps());
}
获取所有媒体实体(最多 4 张照片 || 1 个视频 || 1 个 GIF)
Twitter twitter = TwitterFactory.getSingleton();
List < Status > statuses = twitter.getHomeTimeline();
for (Status status: statuses) {
ExtendedMediaEntity[] extendedMediaEntities = status.getExtendedMediaEntities();
for (ExtendedMediaEntity eme: extendedMediaEntities) {
if (eme.getMediaURLHttps() != null) { //also check blank
if (eme.getType.equals("photo"))
twitterImage.add(me.getMediaURLHttps());
}
}
}
添加回答
举报
0/150
提交
取消