none
How to get delegated one's calendar ID by MAPI RRS feed

  • Question

  • Hi,

    Through MAPI, Anyone know to how to get the calendar entry ID or other information by the meeting cancelled mail object received by his/her delegate? Any feedback and suggestion will be appreciated.

    Thanks.

    Friday, May 18, 2012 8:53 AM

Answers

  • You will need to extract the appointment gobal id (DASL property name is "http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102") and search in the Calendar folder of the same store for an appointment with the matching id.

    MeetingItem.GetAssociatedAppointment will do that for you.


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Friday, May 18, 2012 1:44 PM

All replies

  • just to make sure i understood:

    1. you have secondary mailbox (delegated to you)

    2. in that mailbox meeting cancellation arrives from someone else

    what do you want to extract from that meeting cancellation? Calendar folder entryid of that delegated mailbox?

    Friday, May 18, 2012 9:38 AM
  • You will need to extract the appointment gobal id (DASL property name is "http://schemas.microsoft.com/mapi/id/{6ED8DA90-450B-101B-98DA-00AA003F1305}/00030102") and search in the Calendar folder of the same store for an appointment with the matching id.

    MeetingItem.GetAssociatedAppointment will do that for you.


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Friday, May 18, 2012 1:44 PM
  • Thanks for your feedback.

    However, the 'GetAssociatedAppointment' function seems not supported by C++. I can but implement same logic with C++ myself? Have any more convenient way?

    Regards,

    Zhenbao

    Wednesday, May 30, 2012 7:12 AM
  • Why is it "not supported by C++"? Whatever you can do in VBA/VB.Net/C#/etc., C++ is more than capable of doing.

    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Wednesday, May 30, 2012 7:29 AM
  • GetAssociatedAppoointment is a function exposed by OOM, you can use this API in C++
    Wednesday, May 30, 2012 8:00 AM
  • Sorry, it's my fault to look for it in MAPI library. I have got it in CDO. Thanks.

    Thursday, May 31, 2012 2:07 AM
  • After some tests, I noticed that when the organizer and delegate/her/his boss are in different domain, the Boss never receives the appointment in calendar folder until the delegate opens outlook and views the MR mail.

    I don't know why it is so that.

    Have anyone experienced it before and know how to operate the MR mail to trig the appointment entry appears in Boss's calendar folder as like Outlook does by MAPI?

    Thanks,

    Zhenbao

    Monday, June 4, 2012 3:17 AM
  • maybe i got something wrong but usually atendee has to accept meeting request before it appears it its calendar (untill he set option to automatically accept meetings from certain person). So different domains should not change here anything. As for programmatic access/acceptance using OOM:

    meetingItem.GetAssociatedAppointment(true); //true flag means to add it to calendar

    Monday, June 4, 2012 7:49 AM
  • Thanks for your feedback. However, I'm a bit puzzled by:

    1. Why the appointment does not display in the boss's calendar folder until the delegate just need open his/her outlook and more, actually he/her never accept/tentative/decline and etc.

    2. For same boss/delegate and delegate access configuration, if the organizer is same domain with boss/delegate, the appointment appears in boss's calendar folder whether or not the delegate opens his/her outlook and view the MR mail.

    Tuesday, June 5, 2012 1:09 AM
  • I am confused - how can it not show up on the organizer's calendar if the appointment was created in the organizer's Calendar folder to begin with?

    When Outlook is open, it periodically (once every minute?) scans the Inbox for the meeting invitations, and if it find one, it creates a tentative appointment in the default Calendar folder. Once that appoitment is accepted, the tentative appointment becomes a real appointment.

    Is that what you are seeing?


    Dmitry Streblechenko (MVP)
    http://www.dimastr.com/redemption
    Redemption - what the Outlook
    Object Model should have been
    Version 5.3 is now available!

    Tuesday, June 5, 2012 2:26 AM
  • No, it's not what I'm seeing. Following is that:

    1.Three user: A(Organizer), B(Delegated), C(Delegate). And A is in different domain from B and C.

    2.C kept on closing his/her outlook.

    3.A created one appointment to C.

    4.C had received the MR mail from A on behalf of B. It's confirmed by using MFCMAPI or Outlookspy tools to view.

    5.B opened his/her outlook and checked the calendar folder. However, not found the appointment was created even though waiting for long time and manually sending/receiving all folders.

    6.C opened his/her outlook and only viewed the MR mail, note C never accepted / tentative or decline it.

    7.Few seconds later, the appointment appeared in the B's calendar folder.

    BTW,

    1. If the A is in same domain with B and C, then whether or not C opened his/her outlook, the appointment was always created and appeared in B's calendar folder in time.

    2. the 'My delegates only' option is checked in delegate access setting.


    • Edited by JamesTJ Wednesday, June 6, 2012 3:20 AM
    Tuesday, June 5, 2012 2:42 AM