twitter中的twitter4j状态有图像,但没有媒体实体

问题描述 投票:0回答:1

我正在尝试使用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());   
}
java android twitter4j
1个回答
0
投票

我记得,之前我曾经这样使用过:编辑:这只是为了获得1张图像。

for(MediaEntity me : status.getMediaEntities()){
    if(me.getMediaURLHttps() != null)//also check blank
        twitterImage.add(me.getMediaURLHttps());
}

要获取所有媒体entities(最多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());
  }
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.