C# 如何使用EWS管理的API 2.0创建注释

C# 如何使用EWS管理的API 2.0创建注释,c#,exchange-server,exchangewebservices,ews-managed-api,C#,Exchange Server,Exchangewebservices,Ews Managed Api,即使深入研究,我也找不到使用EWS管理的API 2.0创建注释的示例。在上,我认为最合适的项目类型似乎是positem,但我的测试在Notes文件夹中创建此类项目时失败。或者,该库中是否可能没有用于创建注释的API?请查看PostItem,它们应该执行您想要的操作 样品 var items=newlist(); 对于(int i=0;i!=10;++i) { var m=新职位(服务); m、 Subject=“Note”+i.ToString(); m、 Body=newmessagebody

即使深入研究,我也找不到使用EWS管理的API 2.0创建注释的示例。在上,我认为最合适的项目类型似乎是positem,但我的测试在Notes文件夹中创建此类项目时失败。或者,该库中是否可能没有用于创建注释的API?

请查看PostItem,它们应该执行您想要的操作

样品

var items=newlist();
对于(int i=0;i!=10;++i)
{
var m=新职位(服务);
m、 Subject=“Note”+i.ToString();
m、 Body=newmessagebody(BodyType.Text,“测试注释”);
m、 Save();
}

帖子与Notes文件夹中的备注不同。PostItem表示消息类为
IPM.Post的项。另一方面,注意,使用message类
IPM.StickyNote
。托管API不直接支持这些项。您可以将它们作为
EmailMessage
对象检索,如果手动设置所需的属性,您甚至可以将它们创建为
EmailMessage
对象。格伦在他的博客上写了一篇好文章:

var guid=new guid(“0006200E-0000-0000-C000-0000000000 46”);
var color=新的ExtendedPropertyDefinition(guid,0x8B00,MapPropertyType.Integer);
var width=新的ExtendedPropertyDefinition(guid,0x8B02,MapPropertyType.Integer);
var height=新的ExtendedPropertyDefinition(guid,0x8B03,MapPropertyType.Integer);
var left=新的ExtendedPropertyDefinition(guid,0x8B04,MapPropertyType.Integer);
var top=新的ExtendedPropertyDefinition(guid,0x8B05,MapPropertyType.Integer);
var items=新列表();
对于(int i=0;i!=maxItems;++i)
{
var m=新电子邮件(服务);
m、 Subject=“Note”+i.ToString();
m、 ItemClass=“IPM.StickyNote”;
m、 Body=newmessagebody(BodyType.Text,“测试注释”);
m、 SetExtendedProperty(颜色,1);
m、 SetExtendedProperty(宽度,200);
m、 SetExtendedProperty(高度,166);
m、 SetExtendedProperty(左,200);
m、 SetExtendedProperty(前200名);
项目.增加(m);
}
var folder=folder.Bind(服务,WellKnownFolderName.Notes,新属性集());
var responses=service.CreateItems(items、folder.Id、MessageDisposition.SaveOnly、sendInvitationMode.SendToNone);

谢谢,所以应该使用positem。我试图在WellKnownFolderName.notes文件夹中创建便笺,但出现错误“无法在非邮件文件夹的文件夹中创建帖子”…如果未设置任何文件夹,会发生什么情况?代码无法编译。你知道文件夹绑定方法吗?不完全知道。您能在问题中发布您的代码吗?当然可以,
var items=new List();对于(int i=0;i!=maxItems;++i){var m=new positem(服务);m.Subject=“Note”+i.ToString();m.Body=new MessageBody(BodyType.Text,“测试注释”);items.Add(m);}var folder=folder.Bind(服务,WellKnownFolderName.Notes,new PropertySet());var responses=service.CreateItems(items、folder.Id、MessageDisposition.SendOnly、SendInvitationMode.SendToAllAndSaveCopy)MessageDisposition.SendOnly、SendInvitationMode.SendToAllAndSaveCopy)`谢谢,我找到了。
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();
}
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);