如何使用EWS Managed API 2.0创建笔记

时间:2015-06-03 08:23:24

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

即使查看MSDN's Exchange 2013 - 101 Code Samples,我也找不到使用EWS Managed API 2.0创建笔记的示例。在Folders and items in EWS in Exchange上,最合适的项目类型似乎是 PostItem ,但我的测试无法尝试在Notes文件夹中创建此类项目。或者,是否可能没有用于在此库中创建笔记的API?

3 个答案:

答案 0 :(得分:1)

PostItem与Notes文件夹中的注释不同。 PostItem表示消息类别为IPM.Post的项目。另一方面,Notes使用消息类IPM.StickyNote。托管API不直接支持这些项目。您可以将它们检索为EmailMessage个对象,如果手动设置所需的属性,甚至可以将它们创建为EmailMessage个对象。 Glen在他的博客上写了一篇很好的文章:http://gsexdev.blogspot.com/2009/07/creating-sticky-notes-in-ews-managed.html

答案 1 :(得分: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();
}

答案 2 :(得分: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);