2015-06-03 7 views
1

Даже глядя в MSDN's Exchange 2013 - 101 Code Samples, я не смог найти пример создания заметок с использованием EWS Managed API 2.0. На Folders and items in EWS in Exchange наиболее подходящий тип элемента мне кажется PostItem, но мой тест не удалось создать такие элементы в папке Notes. Или, возможно, нет API для создания заметок в этой библиотеке?Как создавать заметки с помощью EWS Managed API 2.0

ответ

1

PostItem не то же самое, как примечание в папке Notes. Элементы PostItem представляют элементы с классом сообщений IPM.Post. Примечания, с другой стороны, используют класс сообщений IPM.StickyNote. Управляемый API не имеет прямой поддержки для этих элементов. Вы можете получить их как объекты EmailMessage, и вы даже можете создать их как объекты EmailMessage, если вы вручную задали требуемые свойства. У Глена есть хорошая запись в его блоге: http://gsexdev.blogspot.com/2009/07/creating-sticky-notes-in-ews-managed.html

+0

Спасибо, я нашел [этот пример C#] (https://social.msdn.microsoft.com/Forums/office/en-US/df69d01c-1b9b-4dea-8ebd-19e376ca2b4b/e2007ewsmac-how-can-i-create -a-липкое примечание-с-EWS-управляемого-апи). – Flaviu

0

Взгляните на PostItem, они должны делать то, что вы хотите. PostItem

Образец

var items = new List<PostItem>(); 

for (int i = 0; i != 10; ++i) 
{ 
    var m = new PostItem(service); 
    m.Subject = "Note " + i.ToString(); 
    m.Body = new MessageBody(BodyType.Text, "A test note"); 
    m.Save(); 
} 
+0

Спасибо, поэтому PostItem следует использовать. Я попытался создать заметки в папке WellKnownFolderName.Notes, но у меня появилась ошибка «Невозможно создать элемент сообщения в папке, которая не является почтовой папкой» ... – Flaviu

+0

Что произойдет, если вы не установите какую-либо папку? – BendEg

+0

Код не компилируется. Вы знаете метод Folder.Bind? – Flaviu

0
var guid = new Guid("0006200E-0000-0000-C000-000000000046"); 
var colour = new ExtendedPropertyDefinition(guid, 0x8B00, MapiPropertyType.Integer); 
var width = new ExtendedPropertyDefinition(guid, 0x8B02, MapiPropertyType.Integer); 
var height = new ExtendedPropertyDefinition(guid, 0x8B03, MapiPropertyType.Integer); 
var left = new ExtendedPropertyDefinition(guid, 0x8B04, MapiPropertyType.Integer); 
var top = new ExtendedPropertyDefinition(guid, 0x8B05, MapiPropertyType.Integer); 

var items = new List<EmailMessage>(); 
for (int i = 0; i != maxItems; ++i) 
{ 
    var m = new EmailMessage(service); 
    m.Subject = "Note " + i.ToString(); 
    m.ItemClass = "IPM.StickyNote"; 
    m.Body = new MessageBody(BodyType.Text, "A test note"); 
    m.SetExtendedProperty(colour, 1); 
    m.SetExtendedProperty(width, 200); 
    m.SetExtendedProperty(height, 166); 
    m.SetExtendedProperty(left, 200); 
    m.SetExtendedProperty(top, 200); 
    items.Add(m); 
} 

var folder = Folder.Bind(service, WellKnownFolderName.Notes, new PropertySet()); 
var responses = service.CreateItems(items, folder.Id, MessageDisposition.SaveOnly, SendInvitationsMode.SendToNone); 
Смежные вопросы