是否有可能获得共享日历的所有者[Outlook Interop]

时间:2015-03-20 08:32:53

标签: c# outlook interop

我想在共享日历上找到我正在创建的约会的所有者。这可能吗?

我通过以下方式从文件夹中获取storeId:

Folder folder = Appointment.Application.ActiveExplorer().CurrentFolder as Folder;
string storeid = folder.StoreID;

我如何获得所有者?

1 个答案:

答案 0 :(得分:1)

听起来并不那么容易。我以为有一个Owner属性,但不幸的是没有。

我发现此blog article解释了如何从您已有的StoreID中提取所有者。

最重要的是从十六进制表示转换string,然后使用此正则表达式:

private string ParseEntryID(string storeID)
{
    string s = HexReader.GetString(storeID);
    //TODO: These values might be different depending on
    what you have named your groups in ESM
    const string REG_EX = @"/o=First Organization/ou=First
        Administrative Group/cn=Recipients/cn=(\w+)";
    Match m = Regex.Match(s, REG_EX);

    return m.Value;
}

HexReader的代码可以在文章中找到。