gpt4 book ai didi

c# - EWS API - 创建日历并与审阅者权限共享

转载 作者:太空狗 更新时间:2023-10-29 23:10:16 25 4
gpt4 key购买 nike

我在使用 Exchange Webservice API .NET 创建和共享具有审阅权限的日历 时遇到了一些问题。

目前这是我的代码:

Folder addCalendar = new Folder(service);
addCalendar.DisplayName = name;
addCalendar.FolderClass = "IPF.Appointment";
var perm = new FolderPermission(new UserId("reviewer@test.com"),
FolderPermissionLevel.Reviewer);
addCalendar.Permissions.Add(perm);
addCalendar.Save(WellKnownFolderName.MsgFolderRoot);

日历已创建,在我的帐户中我可以看到日历并且用户“reviewer@test.com”具有正确的权限。

问题是:评论者的帐户中没有显示日历。

最佳答案

你必须做两件事:

设置适当的权限:

var folder = Folder.Bind(service, WellKnownFolderName.Calendar);
folder.Permissions.Add(new FolderPermission("someone@yourcompany.com",
FolderPermissionLevel.Reviewer));
folder.Update();

然后,发送邀请信息。现在,这是困难的部分。消息格式在 [MS-OXSHARE]: Sharing Message Object Protocol Specification 中指定.扩展属性在 [MS-OXPROPS]: Exchange Server Protocols Master Property List 中定义.您需要根据该规范创建消息并将其发送给收件人。

编辑:

要在元素上设置共享属性,请使用扩展属性。

首先,定义属性。例如,PidLidSharingProviderGuidProperty 定义如下:

private static readonly Guid PropertySetSharing = new Guid("{00062040-0000-0000-C000-000000000046}");
private static readonly ExtendedPropertyDefinition PidLidSharingProviderGuidProperty = new ExtendedPropertyDefinition(PropertySetSharing, 0x8A01, MapiPropertyType.CLSID);
private static readonly ExtendedPropertyDefinition ConversationIdProperty = new ExtendedPropertyDefinition(0x3013, MapiPropertyType.Binary);

然后您可以使用 SetExtendedProperty 方法在新项目上设置属性:

item.SetExtendedProperty(PidLidSharingProviderGuidProperty, "somevalue");

关于c# - EWS API - 创建日历并与审阅者权限共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7503613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com