none
EWS: How can I determine whether two calendaritems from attendant or resource calendars belong to the same meeting? RRS feed

  • Question

  • We develop a Java application, which retreives calendaritems from calendar folder of resource mailboxes through the Exchange Web Service protocol.
    If we want to cancel a meeting we have to delete the calendaritem from the organizer's calendar.

    How can we get the meeting's / owning calendar item's itemid (as I understand meeting is the calendaritem in the organizer's calendar) for the input parameter of the deleteitem method, if I have the resource calendar calendaritem's itemid only?

    I could call finditem method on the organizer's calendar folder, but how can I determine whether the organizer's calendaritem is the meeting, which "owns" the resource's calendaritem? Is there any property or method, which can help us verify the relation between the calendaritems?

    Thanks,

    Bela

    Wednesday, March 28, 2012 3:57 PM

Answers

All replies

  • >How can we get the meeting's / owning calendar item's itemid (as I understand meeting is the calendaritem in the organizer's calendar) for the input parameter of the deleteitem method, if I have the resource calendar calendaritem's itemid only?

    You can't get this directly from an Attendees Appointment what you can do is using the GlobalObjectId from the appointment in the attendees mailbox is to search for the appointment in the organizer calendar have a look at http://www.infinitec.de/post/2009/04/13/Searching-a-meeting-with-a-specific-UID-using-Exchange-Web-Services-2007.aspx for a sample.

    Cheers
    Glen

    • Marked as answer by Bela Borbely Saturday, March 31, 2012 6:15 PM
    Thursday, March 29, 2012 6:23 AM
  • Thanks Glen,

    This is what I am looking for.

    Cheers,

    Béla

    Saturday, March 31, 2012 6:22 PM
  • Thank you Glen again and thanks for Henning Krause.

    Here is the clean xml-request to get this global property, if somebody need this directly. It seems, you can get this property with finditem -request also.

    <?xml version="1.0" encoding="utf-8"?>
    <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
                   xmlns:t="http://schemas.microsoft.com/exchange/services/2006/types">
        <soap:Header>
        </soap:Header>
        <soap:Body>
            <FindItem Traversal="Shallow" xmlns="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:typ="http://schemas.microsoft.com/exchange/services/2006/types">
                <ItemShape>
                    <typ:BaseShape>AllProperties</typ:BaseShape>
    <typ:AdditionalProperties>
                        <typ:ExtendedFieldURI DistinguishedPropertySetId="Meeting" PropertyId="3" PropertyType="Binary"/>
                    </typ:AdditionalProperties>
                </ItemShape>
                <CalendarView StartDate="2012-08-27T00:00:00.000+03:00" EndDate="2012-08-27T23:59:59.000+03:00"/>
                <ParentFolderIds>
                    <typ:DistinguishedFolderId Id="calendar">
                        <typ:Mailbox>
                            <typ:EmailAddress>x@y.com</typ:EmailAddress>
                        </typ:Mailbox>
                    </typ:DistinguishedFolderId>
                    <typ:DistinguishedFolderId Id="calendar">
                        <typ:Mailbox>
                            <typ:EmailAddress>y@y.com</typ:EmailAddress>
                        </typ:Mailbox>
                    </typ:DistinguishedFolderId>
                </ParentFolderIds>
            </FindItem>
        </soap:Body>
    </soap:Envelope>


    Monday, August 27, 2012 8:44 AM