Java EWS FindApoints日期行为怪异,要么返回太多,要么什么都没有

Java EWS FindApoints日期行为怪异,要么返回太多,要么什么都没有,java,exchangewebservices,Java,Exchangewebservices,我不确定开始日期和结束日期如何处理整个查找约会。我将为一个公共团体获得所有房间,然后为该团体获得房间,然后在一个日期范围内获得约会 但是范围看起来很奇怪,我知道在12-19到12-16之间有预约,但是如果我将开始日期范围设置为2013-10-10,将结束日期设置为2013-12-28,我将一无所获 如果我将结束日期设置为2014-01-28,我会得到很多在前面提到的范围内的东西。为什么呢 ExchangeService service = new ExchangeService();

我不确定
开始日期
结束日期
如何处理整个查找约会。我将为一个公共团体获得所有房间,然后为该团体获得房间,然后在一个日期范围内获得约会

但是范围看起来很奇怪,我知道在
12-19
12-16
之间有预约,但是如果我将开始日期范围设置为
2013-10-10
,将结束日期设置为
2013-12-28
,我将一无所获

如果我将结束日期设置为
2014-01-28
,我会得到很多在前面提到的范围内的东西。为什么呢

    ExchangeService service = new ExchangeService();
    ExchangeCredentials credentials = new WebCredentials( "username", "pw");
    service.setCredentials( credentials );    
    service.setUrl( new URI("my mail url") );
    Folder inbox = Folder.bind(service, WellKnownFolderName.Inbox);
    System.out.println("messages: " + inbox.getTotalCount());
    CalendarFolder cf = CalendarFolder.bind(service, WellKnownFolderName.Calendar);

//Get all new appts?

java.text.SimpleDateFormat formatter= new java.text.SimpleDateFormat("YYYY-mm-dd");
Date startDate1 = formatter.parse("2013-11-25");
Date endDate1 = formatter.parse("2014-01-28 ");



EmailAddressCollection myRoomLists = service.getRoomLists();
for (EmailAddress item : myRoomLists)
{
    System.out.println("Room Email========"+ item.toString());

    NameResolutionCollection nameResolutions = service.resolveName(
        item.getName(),
        ResolveNameSearchLocation.DirectoryOnly,
        true);

        for (NameResolution nameResolution : nameResolutions)

        {
            ExpandGroupResults groupResults;
            //System.out.println(nameResolution.getMailbox().getAddress());
            try {            
                groupResults = service.expandGroup(nameResolution.getMailbox().getAddress());
            } catch (microsoft.exchange.webservices.data.ServiceResponseException e){
                    groupResults=null;
                    System.out.println("NO INFO FOR "+nameResolution.getMailbox().getAddress());
            }           

            if (groupResults!=null){                          
                for (EmailAddress member : groupResults.getMembers())
                {

                        if (member.getAddress().indexOf("rm.Cary")>-1){

                            System.out.println(member.getName() + " <" + member.getAddress() + ">");
                            FolderId folderid = new FolderId(WellKnownFolderName.Calendar, new Mailbox(member.getAddress()));
                            try {            
                                FindItemsResults<Appointment> aps = service.findAppointments(folderid, new CalendarView(startDate1,endDate1));
                                for (Item items : aps.getItems())
                                {
                                    Appointment appt = (Appointment)items;
                                    System.out.println("SUBJECT===== " + appt.getSubject());
                                    System.out.println("Location======== " + appt.getLocation());
                                    System.out.println("Start Time========" + appt.getStart());
                                    System.out.println("End Time========"+appt.getEnd());
                                    System.out.println("Email Address========"+ appt.getOrganizer().getAddress());
                                    System.out.println("Last Modified Time========"+appt.getLastModifiedTime());
                                    System.out.println("Start time========"+appt.getStart());
                                    System.out.println("End Time========"+appt.getEnd());
                                    System.out.println("Is recurring========"+appt.getIsRecurring());
                                    System.out.println("Duration========"+appt.getDuration().toString());
                                    System.out.println("Organizer========"+appt.getOrganizer());
                                    System.out.println("Required Attendees========"+appt.getRequiredAttendees().getCount());
                                    System.out.println("Optional Attendees========"+appt.getOptionalAttendees().getCount());
                                        System.out.println(""); 

                                }

                            } catch (microsoft.exchange.webservices.data.ServiceResponseException e){
                                    System.out.println(e.getMessage());
                            }   


                        }
                    }
            }
        }

}

System.out.println("End");  
ExchangeService服务=新的ExchangeService();
ExchangeCredentials凭据=新的WebCredentials(“用户名”、“密码”);
服务。设置凭据(凭据);
setUrl(新URI(“我的邮件url”);
Folder inbox=Folder.bind(服务,WellKnownFolderName.inbox);
System.out.println(“消息:+inbox.getTotalCount());
CalendarFolder cf=CalendarFolder.bind(服务,WellKnownFolderName.Calendar);
//获取所有新应用程序?
java.text.simpleDataFormat格式化程序=新的java.text.simpleDataFormat(“YYYY-mm-dd”);
Date startDate1=格式化程序.parse(“2013-11-25”);
日期endDate1=格式化程序解析(“2014-01-28”);
EmailAddressCollection myRoomLists=service.getRoomLists();
用于(电子邮件地址项目:MyRoomList)
{
System.out.println(“房间电子邮件====”+item.toString());
NameResolutionCollection nameResolutions=service.resolveName(
item.getName(),
ResolveNameSearchLocation.DirectoryOnly,
正确的);
for(名称解析名称解析:名称解析)
{
ExpandGroupResults groupResults;
//System.out.println(namesolution.getMailbox().getAddress());
试试{
groupResults=service.expandGroup(namesolution.getMailbox().getAddress());
}捕获(microsoft.exchange.webservices.data.ServiceResponseException e){
groupResults=null;
System.out.println(“没有“+namesolution.getMailbox().getAddress()的信息”);
}           
如果(groupResults!=null){
对于(EmailAddress成员:groupResults.getMembers())
{
if(member.getAddress().indexOf(“rm.Cary”)>-1){
System.out.println(member.getName()+);
FolderId FolderId=新的FolderId(WellKnownFolderName.Calendar,新邮箱(member.getAddress());
试试{
FindItemsResults aps=service.findApoints(folderid,新日历视图(startDate1,endDate1));
对于(项目:aps.getItems())
{
预约appt=(预约)项目;
System.out.println(“SUBJECT===”+appt.getSubject());
System.out.println(“位置========”+appt.getLocation());
System.out.println(“开始时间====”+appt.getStart());
System.out.println(“结束时间===”+appt.getEnd());
System.out.println(“电子邮件地址========”+appt.getOrganizer().getAddress());
System.out.println(“上次修改时间===”+appt.getLastModifiedTime());
System.out.println(“开始时间====”+appt.getStart());
System.out.println(“结束时间===”+appt.getEnd());
System.out.println(“正在循环===========”+appt.getIsRecurring());
System.out.println(“持续时间===”+appt.getDuration().toString());
System.out.println(“Organizer====”+appt.getOrganizer());
System.out.println(“必需的与会者===”+appt.getRequiredAttendeers().getCount());
System.out.println(“可选与会者========”+appt.getOptionalAttendees().getCount());
System.out.println(“”);
}
}捕获(microsoft.exchange.webservices.data.ServiceResponseException e){
System.out.println(e.getMessage());
}   
}
}
}
}
}
系统输出打印项次(“结束”);
将其更改为:

java.text.SimpleDateFormat formatter= new java.text.SimpleDateFormat("yyyy-MM-dd");

…代码的格式可能会更简洁一些是的伙计,很抱歉。希望能好一点!检查我的编辑,请继续以这种样式格式化它