繁体   English   中英

引用转推Twitter4j

[英]Quote retweets Twitter4j

我在使用twitter4j时遇到问题,当我使用以下代码获取时间轴时:

try {
    ResponseList<Status> tweets = twitter.getHomeTimeline();
    for(Status s : tweets){
        Tweet temp = new Tweet(new URL(s.getUser().getProfileImageURL()),s.getUser().getName(),"@"+s.getUser().getScreenName() , s.getText());
        tweetsPanel.add(temp);
    }
} catch (TwitterException | MalformedURLException e) {
    e.printStackTrace();
}

(推文是本地类),一切正常,除了时间轴中的推文显示为“ Quote Retweet”:

RT @SOMEONE : the tweet.

我希望它像网站一样,只是普通的转发。

在twitter4j上,转发格式显示为

RT @user:鸣叫

因为这是rt接受文本的实际形式。 如果您在推特上发布具有相同格式的推文,它将被解析为推特本身的正常推文。

唯一可以编辑的方法是解析文本并手动删除第一部分。 尝试类似:

String tweetText = "";
String [] splitted=s.getText().split(":");
if(splitted.lenght>2)
for (int i=1;i<splitted.lenght-1;i++)
{
  tweetText+=splitted[i]+":";
}
tweetText+=splitted[splitted.lenght-1];
return tweetText;

通过在i = 1上启动for,您将避免添加包含RT @user的第一个拆分,通过添加splitted [i] +“:”,您将放回最终出现在推文中的其他“:”,否则拆分将否则消除。 当然,您不想引入一个不存在的“:”,因此最后分割的部分不在for之外,而没有+”:”

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM