我對EWS和Exchange一般都很陌生,所以不太確定最佳方法。設置與房間相關的擴展屬性
背景
我想設置一下房間的配置信息。我希望EWS API爲我提供了一個Room
對象,我可以添加ExtendedProperties
,但是,看起來房間只是一個電子郵件地址。
我然後看到每個房間有一個與之相關的CalendarFolder
,所以現在我想設置在CalendarFolder
房間的配置,這是低於原來的問題是指。
原始的問題
我試圖用做CalendarFolder
的簡單更新:
var folderId = new FolderId(WellKnownFolderName.Calendar, new Mailbox(roomEmail.Address));
var myCalendar = CalendarFolder.Bind(service, folderId, PropertySet.FirstClassProperties);
myCalendar.DisplayName += "Updated";
myCalendar.Update();
然而,當我打電話.Update()
我得到「文件夾保存操作失敗,原因是無效的物業價值「
我認爲這個問題可能與有關不具有日曆文件夾在服務器上具有的所有屬性。所以當我更新對象時,它只會發送導致驗證錯誤的部分對象。
我該如何去更新CalendarFolder
?
經過進一步研究
我也遇到下列迷迷糊糊的,這沒有問題:
FindFoldersResults root = service.FindFolders(WellKnownFolderName.Calendar, new FolderView(500));
foreach (var folder in root.Folders)
{
folder.DisplayName = "confRoom1";
folder.Update();
}
我敢肯定,有兩種方法之間的差異,但我不明白我使用不同查詢方法得到的文件夾之間的差異:
new FolderId(WellKnownFolderName.Calendar, new Mailbox(roomEmail.Address));
var myCalendar = CalendarFolder.Bind(service, folderId, PropertySet.FirstClassProperties);
和
哪種方法會給我正確的CalendarFolder
在那裏我可以設置ExtendedProperties
的房間嗎?
您有任何新的見解嗎?建議的答案是否有效? – lokusking