gpt4 book ai didi

java - 如何使用 EWS JAVA API 获取访问另一个邮箱日历的权限

转载 作者:太空宇宙 更新时间:2023-11-04 06:11:30 25 4
gpt4 key购买 nike

我可以使用以下代码获取我的组织中可用的 session 室,我需要预约特定房间,因此我使用了以下代码。`

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
static ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP2);
ExchangeCredentials credentials = new WebCredentials("xxx@yy.com", "zzzz");
service.setCredentials(credentials);
try {
System.out.println("Check");
service.autodiscoverUrl("xxx@yy.com",new RedirectionUrlCallback());



} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


NameResolutionCollection nameResolutions = service.resolveName("MeetingRoom1",ResolveNameSearchLocation.DirectoryOnly, true);
System.out.println("nameResolutions==="+nameResolutions.getCount());

for(NameResolution nameResolution : nameResolutions)
{
System.out.println("NAME==="+nameResolution.getContact().getDisplayName());


}
Date startDate = new Date();
Calendar cal = Calendar.getInstance();
cal.setTime(startDate);
cal.add(Calendar.DATE, 30); // add 10 days

Date endDate = cal.getTime();
Mailbox meetingMailbox = new Mailbox("meetingroom-1@yy.com");
FolderId CalendarId = new FolderId(WellKnownFolderName.Calendar, meetingMailbox);
CalendarView cView = new CalendarView(startDate, endDate);
FindItemsResults<Appointment> appointments = service.findAppointments(CalendarId, cView);
for (Appointment a : appointments)
{
System.out.println("Subject: " + a.getSubject().toString() + " ");
System.out.println("Start: " + a.getStart().toString() + " ");
System.out.println("End: " + a.getEnd().toString());
System.out.println();
}
}`

如果我执行此代码,我能够获取我的组织中名为 MeetingRoom1 的所有可用 session 室的列表,然后我尝试访问特定的 meetroom-1@yy.com 以获取该房间的约会,但会抛出一些异常,如下所示。

Exception in thread "main" microsoft.exchange.webservices.data.ServiceResponseException: The specified folder could not be found in the store.
at microsoft.exchange.webservices.data.ServiceResponse.internalThrowIfNecessary(ServiceResponse.java:262)
at microsoft.exchange.webservices.data.ServiceResponse.throwIfNecessary(ServiceResponse.java:251)
at microsoft.exchange.webservices.data.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:146)
at microsoft.exchange.webservices.data.ExchangeService.findItems(ExchangeService.java:807)
at microsoft.exchange.webservices.data.ExchangeService.findAppointments(ExchangeService.java:1089)
at com.hcl.GetRoomClass.main(GetRoomClass.java:58)

我想这可能是因为我没有访问 session 室日历的权限。如何进一步进行预约。请帮助我。我需要 EWS-JAVA API 中的它。

提前致谢。

最佳答案

运行代码的帐户需要委派对 session 室日历的访问权限才能使该代码正常工作。这是您的管理员需要在服务器上为您配置的内容。

关于java - 如何使用 EWS JAVA API 获取访问另一个邮箱日历的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28670684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com