如何从我的Outlook加载项创建共享日历

时间:2014-06-06 14:38:07

标签: c# calendar vsto outlook-addin

我需要创建一个outlook加载项,其中约会将触发一些功能。例如,当约会开始时,我将从我的Outlook插件向服务器发出HTTP发布请求。

无论如何,这些约会需要同步。也就是说,如果一个用户创建了约会,我希望其他视图也创建相同的约会。为此我想到了这个:

private void ThisAddIn_Startup(object sender, System.EventArgs e)
{                               
    Microsoft.Office.Interop.Outlook.Application outlookApp = Globals.ThisAddIn.Application;

    // get primary calendar           
    MAPIFolder temp =  outlookApp.Session.GetDefaultFolder(OlDefaultFolders.olFolderCalendar);

    // raise an event when a new appointment is created 
    temp.Items.ItemAdd += Items_ItemAdd;
}

void Items_ItemAdd(object Item)
{
    // serialize this new appointment and send it to the other outlooks
}

通过这种方法,我基本上在订阅被删除,修改或创建时订阅事件,并在其他展望中传播这些更改我认为这不是最好的分享方式日历,我觉得我正在重新发明轮子。我想采用这种方法的原因是因为我不知道如何在我的outlook插件中共享日历。

1 个答案:

答案 0 :(得分:1)

看看这个答案。 How to detect which EKevent was changed通过通知,您可以检查加载项内部以查看iCal中的事件何时更改,然后从那里将更新/删除HTTP请求发送到Outlook服务器以反映所做的更改。

在您的HTTP请求中使用“SendToAllAndSaveCopy”