簡體   English   中英

在EWS中使用自定義屬性創建約會

[英]Create appointment with custom properties in EWS

我嘗試將自定義屬性添加到創建的約會中,如下所示:

var newEvent = new Appointment(service)
        {
            Start = start,
            End = end,
            Subject = subject,
            ReminderMinutesBeforeStart = 15
        };
        var extendendProperty = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Address, "organizer",
            MapiPropertyType.String);
        newEvent.SetExtendedProperty(extendendProperty, organizer);

但是問題是,當我嘗試從服務器獲取此約會時,屬性ExtendedProperty為空。

另外,我創建新約會並添加“房間”作為必需的與會者,當我嘗試獲取此約會時,我不是從日歷中獲取而是從房間日歷中獲取。

因此,我想在我的約會中添加擴展屬性並邀請“房間”。 接下來獲取房間的所有約會,在這里我想閱讀此屬性。 甚至有可能嗎?

我閱讀了以下主題: EWS創建約會以交換其他自定義屬性 ,據我了解,當我想讀取此屬性時,我必須有權訪問ExtendendPropertyDefinition ,並且必須在此之前知道此約會的ID。 現在,我通過此代碼從Outlook下載所有約會:

var folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox(userName));
        var calendar = CalendarFolder.Bind(service, folderId, new PropertySet());
        return calendar.FindAppointments(new CalendarView(start, stop)).ToList();

編輯

感謝格倫尺度! 它幾乎可以按我想要的方式工作,但有一件事。 如果我下載自己的約會,則可以閱讀此附加屬性,但是在該代碼中,我從會議室日歷下載約會。

正如我猜想的那樣,當創建新約會並為需要的服務員添加房間時,它會創建自己的約會,並且不會復制此其他屬性。

那么,當我將該屬性添加到我的房間時,有什么辦法可以從房間預約中獲得此附加屬性?

您需要首先創建一個屬性集,然后將要加載的擴展屬性添加到該屬性集。 然后告訴EWS您希望在執行FindAppointment方法時返回該屬性,請參見https://msdn.microsoft.com/zh-cn/library/office/dd633697(v=exchg.80).aspx,例如您的示例

        PropertySet YourProperyset = new PropertySet(BasePropertySet.FirstClassProperties);
        var extendendProperty = new ExtendedPropertyDefinition(DefaultExtendedPropertySet.Address, "organizer",MapiPropertyType.String);
        YourProperyset.Add(extendendProperty);
        var folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox(userName));
        var calendar = CalendarFolder.Bind(service, folderId);
        var calendarView = new CalendarView(start, stop);
        calendarView.PropertySet = YourProperyset;
        return calendar.FindAppointments(calendarView).ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM