Java Twitter查询API筛选器不在日期范围内工作
我正在尝试使用twitter4j查询twitter状态数据。我只需要为在他/她的时间线上发布推文一天的用户发送推文。 到目前为止,我使用了以下代码来实现: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
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,而且用户名屏幕名称也与我正在寻找的用户相似
问候维伦德拉·阿加瓦尔