2014-06-06 3 views
0

약속이 일부 기능을 트리거하는 Outlook 추가 기능을 만들어야합니다. 예를 들어 약속이 시작될 때 나는 Outlook addin에서 서버로 HTTP 게시물 요청을 할 것이다.Outlook 추가 기능에서 공유 일정을 만드는 방법

어쨌든 이러한 약속은 동기화되어야합니다. 즉, 한 명의 사용자가 약속을 작성하면 다른 약속에서도 동일한 약속을 작성하는 것이 좋습니다. 이렇게하려면 나는 이것에 대해 생각 :

나는 기본적으로 약속을 삭제, 수정하거나 생성하고 다른 전망에 대한 변경 사항을 전파하는 나는이 생각하지 않습니다되고있는 이벤트에 가입하고이 방법으로
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 addin에서 캘린더를 공유하는 방법을 모르기 때문입니다.

+0

왜 iCal URL을 사용하지 않습니까? 그런 다음 항상 최신입니다. – Matt

+0

iCal URL은 읽기 전용입니까? 새 약속을 만들면 iCal에 추가됩니까? 새로운 약속을 만들면 그 변경 사항이 다른 전망에 반영됩니까? –

+0

공유 데이터베이스에 약속을 작성하는 추가 기능이 없으면 해당 데이터베이스를 사용하여 iCal 피드를 생성하십시오. 사용자가 공유 된 iCal 캘린더를 열 때마다 데이터베이스의 최신 데이터로 새로 고침됩니다. – Matt

답변

1

이 답변을 확인하십시오. How to detect which EKevent was changed 알림을 통해 추가 기능 내부에서 iCal에서 이벤트가 변경된 것을 확인한 다음 변경 사항을 반영하기 위해 업데이트/삭제 HTTP 요청을 Outlook 서버로 보냅니다.

HTTP 요청에 "SendToAllAndSaveCopy"사용

관련 문제