Java Twitter查询API筛选器不在日期范围内工作

Java Twitter查询API筛选器不在日期范围内工作,java,twitter,twitter4j,Java,Twitter,Twitter4j,我正在尝试使用twitter4j查询twitter状态数据。我只需要为在他/她的时间线上发布推文一天的用户发送推文。 到目前为止,我使用了以下代码来实现: try { for (int i = 0; i < userNames.length; i++) { int totalCount = 0; Query query = new Query(userNames[i]); query.setCount(100); in

我正在尝试使用twitter4j查询twitter状态数据。我只需要为在他/她的时间线上发布推文一天的用户发送推文。 到目前为止,我使用了以下代码来实现:

try {
    for (int i = 0; i < userNames.length; i++) {
        int totalCount = 0;
        Query query = new Query(userNames[i]);
        query.setCount(100);
        int searchResultCount;
        long lowestTweetId = Long.MAX_VALUE;
        totalCount = 0;
        Date date = new Date(
                DateTimeUtils.getNDaysbackDailySliceStamp(1));
        String modifiedDate = new SimpleDateFormat("yyyy-MM-dd")
                .format(date);
        System.out.println(modifiedDate);
        query.setSince(modifiedDate);
        date = new Date(DateTimeUtils.getDailySliceStamp());
        modifiedDate = new SimpleDateFormat("yyyy-MM-dd").format(date);
        System.out.println(modifiedDate);
        query.setUntil(modifiedDate);
        List<DBObject> dbl = new ArrayList<DBObject>();
        Set<Long> ste =  new HashSet<Long>();
        do {
            QueryResult queryResult = twitter.search(query);
            searchResultCount = queryResult.getTweets().size();
            for (Status st : queryResult.getTweets()) {
                if (!st.isRetweet()) {
                    URLEntity[] uEn = st.getURLEntities();
                    StringBuilder url = new StringBuilder();
                    for (URLEntity urle : uEn) {
                        if (urle.getURL() != null && !urle.getURL().isEmpty()) {
                            url.append(urle.getExpandedURL());
                        }
                    }
                    ste.add(st.getId());
                    dbl.add(createTweetObject(userNames[i]/*, total*/,
                            st.getText(), st.getRetweetCount(), st.getId(),
                            url.toString(), st.getCreatedAt(), st.isRetweet()));
                }
                }
        } while (searchResultCount != 0 && searchResultCount % 100 == 0);
        System.out.println(dbl.size());
        System.out.println(dbl);
        if (dbl != null && !dbl.isEmpty()) {
        //  populateTweetCollection(dbl);
        }
        System.out.println("TweetCount"+ste.size());
        System.out.println(ste);
    }
} catch (Exception e) {
    log.error("Exception in TwitterTime line api---"
            + Config.getStackTrace(e));
}
试试看{
for(int i=0;i
但这段代码会让我收到其他人的推文,其中提到了我正在寻找的用户。
例如,我在一天内搜索了我的推文,实际上是8条,但它给了我12条结果,因为我的一些朋友在他们的时间线上用
@username
操作符推文提到了我的推文名字

还有一件事我想确认被截断的tweet对于整个组是否具有相同的
id

问候

试试这个

        try {

         ResponseList<User> users = twitter.lookupUsers("user name"); 
         for (User auser : users) { 
             System.out.println("Friend's Name " + auser.getName()); 
             if (auser.getStatus() != null) {
                 System.out.println("Friend timeline"); 
                 List<Status> statusess =
                     twitter.getHomeTimeline(); 
                 for (Status status3 : statusess) {
                        System.out.println(status3.getText()); 
                 } 
            } 
        }
    } catch (TwitterException e) {
        e.printStackTrace();
    }
试试看{
ResponseList users=twitter.lookupUsers(“用户名”);
对于(用户auser:users){
System.out.println(“朋友的名字”+auser.getName());
if(auser.getStatus()!=null){
System.out.println(“朋友时间线”);
列表状态=
twitter.getHomeTimeline();
对于(状态3:状态){
System.out.println(status3.getText());
} 
} 
}
}捕获(twitter异常){
e、 printStackTrace();
}
试试这个

        try {

         ResponseList<User> users = twitter.lookupUsers("user name"); 
         for (User auser : users) { 
             System.out.println("Friend's Name " + auser.getName()); 
             if (auser.getStatus() != null) {
                 System.out.println("Friend timeline"); 
                 List<Status> statusess =
                     twitter.getHomeTimeline(); 
                 for (Status status3 : statusess) {
                        System.out.println(status3.getText()); 
                 } 
            } 
        }
    } catch (TwitterException e) {
        e.printStackTrace();
    }
试试看{
ResponseList users=twitter.lookupUsers(“用户名”);
对于(用户auser:users){
System.out.println(“朋友的名字”+auser.getName());
if(auser.getStatus()!=null){
System.out.println(“朋友时间线”);
列表状态=
twitter.getHomeTimeline();
对于(状态3:状态){
System.out.println(status3.getText());
} 
} 
}
}捕获(twitter异常){
e、 printStackTrace();
}
它使用此代码工作

如果(!st.isRetweet()&&(st.getUser().getScreenName().equalsIgnoreCase(用户名[i])){
URLEntity[]uEn=st.getURLEntities();
StringBuilder url=新的StringBuilder();
}
if(st.getId()

我验证了它不是RT,而且用户名屏幕名称也与我正在寻找的用户相似

问候
维伦德拉·阿加瓦尔(Virendra Agarwal)

它使用了这个代码

如果(!st.isRetweet()&&(st.getUser().getScreenName().equalsIgnoreCase(用户名[i])){
URLEntity[]uEn=st.getURLEntities();
StringBuilder url=新的StringBuilder();
}
if(st.getId()

我验证了它不是RT,而且用户名屏幕名称也与我正在寻找的用户相似

问候
维伦德拉·阿加瓦尔