【问题标题】:EWS Managed API : Checking ResponsesEWS 托管 API:检查响应
【发布时间】:2013-05-03 07:44:33
【问题描述】:

我正在使用 EWS 托管 API 2.0。我正在使用日历部分,您可以在其中进行如下预约:

Appointment appointment = new Appointment(service);

//Set properties on the appointment.
appointment.Subject = "Dentist Appointment";
appointment.Body = "The appointment is with Dr. Smith.";
appointment.Start = new DateTime(2009, 3, 1, 9, 0, 0);
appointment.End = appointment.Start.AddHours(2);

//Save the appointment.
appointment.Save(SendInvitationsMode.SendToNone);

如何使用 API 检查预订状态以及是否由于日期冲突(成功/错误/冲突)而被预订?现在我可以通过 Outlook 进行检查,但我想从 API 中了解这些信息。我查看了 API 文档,但找不到任何东西。

感谢您的帮助/指导。

【问题讨论】:

  • 为什么 50 分被分配但答案没有被赞成和接受? (我删除了我的并赞成他的。)

标签: exchange-server exchangewebservices ews-managed-api


【解决方案1】:

在保存约会之前,您应该先检查所有与会者是否有空。 AvailabilityData 将返回 Result(ServiceResult.Success、ServiceResult.Warning 或 ServiceResult.Error),您可以进一步检查 ErrorMessage 属性以找到每个冲突可用性的正确返回消息。如果任何与会者的可用性没有冲突,您可以保存您的约会对象。

AvailabilityOptions availabilityOptions = new AvailabilityOptions();
availabilityOptions.MeetingDuration = 60;
availabilityOptions.MaximumNonWorkHoursSuggestionsPerDay = 4;
availabilityOptions.MinimumSuggestionQuality = SuggestionQuality.Good;
availabilityOptions.RequestedFreeBusyView = FreeBusyViewType.FreeBusy;

List<AttendeeInfo> attendees = new List<AttendeeInfo>();
attendees.Add(
    new AttendeeInfo()
    {
        SmtpAddress = "org@acme.com",
        AttendeeType = MeetingAttendeeType.Organizer
    });

attendees.Add(
    new AttendeeInfo()
    {
        SmtpAddress = "at1@acme.com",
        AttendeeType = MeetingAttendeeType.Required
    });

attendees.Add(
    new AttendeeInfo()
    {
        SmtpAddress = "room1@acme.com",
        AttendeeType = MeetingAttendeeType.Room
    });

GetUserAvailabilityResults availabilityResults =
        service.GetUserAvailability(
            attendees,
            new TimeWindow(DateTime.Now, DateTime.Now.AddDays(1)),
            AvailabilityData.FreeBusyAndSuggestions,
            availabilityOptions
        );

// Here check the availability Result and ErrorMessage of each attendees
// availabilityResults.AttendeesAvailability[0].Result
// availabilityResults.AttendeesAvailability[0].ErrorMessage
// ServiceResult.Success
// ServiceResult.Warning
// ServiceResult.Error

【讨论】:

  • 谢谢,这很有帮助。但我错过了一些东西,如果你能帮我弄清楚的话,我会很感激的。 AvailabilityData 和 availabilityOptions 之间的联系是什么? AvilbilityData 没有对我在availabilityOptions 中输入的会议时间做出回应。它给了我一个房间里所有日历事件的列表,然后我必须一个一个地检查它们,看看是否有冲突。是不是有 1 个方法/参数告诉我我在 availabilityOptions 中选择的会议时间是否与我在参加者信息中放置的房间冲突?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多