Получить идентификатор события календаря из элемента почтового ящика приглашения на собрание - PullRequest
0 голосов
/ 06 июля 2018

Есть ли способ получить событие календаря из почтового ящика приглашения на собрание. Я использую office.js и не вижу ни одного поля, в котором указан идентификатор события. Как видно, даже когда собрание обновляется и отправляется новое электронное письмо с запросом, все приглашения на собрание в одном разговоре связаны с одним и тем же объектом события календаря. Существует ли уникальный идентификатор, к которому я могу получить доступ из элемента почтового ящика запроса комнаты собраний, который я могу использовать для запроса события календаря.

В настоящее время я делаю это, проверяя, что дата создания события календаря больше или равна дате создания элемента приглашения на собрание или меньше, чем Meeting_Request CreatedDate

MeetingRequestCreatedDate <= CalendarEventCreatedDate <= MeetingRequestCreatedDate + (someOffset)

И

MeetingRequestCreatedDate <= CalendarEventModifiedDate <= MeetingRequestCreatedDate + (someOffset)

Смещение, которое я считаю необходимым, потому что иногда даты не точно синхронизированы. Фактический код выглядит так:

 //It might take a while for the modified date to update on the calendar event
        //therefore the margin of error is set to 2seconds
        const append = `/me/calendar/events?$select=LastModifiedDateTime,CreatedDateTime,Locations,Location,Organizer&
            $filter=(CreatedDateTime gt ${toUTCTimeZone(item.dateTimeCreated)} and CreatedDateTime lt ${toUTCTimeZone(item.dateTimeCreated, 2)}) or
            (LastModifiedDateTime gt ${toUTCTimeZone(item.dateTimeCreated)} and LastModifiedDateTime lt ${toUTCTimeZone(item.dateTimeCreated, 2)})
            `;

        const restUrl = `${Office.context.mailbox.restUrl}/v2.0${append}`;

Тогда, наконец, я проверяю, является ли orgernizer CalendarEvent == MeetingRequestSender

result.Organizer.EmailAddress.Address == Office.context.mailbox.item.sender.emailAddress

У меня два вопроса:

  1. Как мне избежать этого (взлома) запроса для получения событий календаря. Какой-то уникальный идентификатор будет лучше.
  2. Если это невозможно, то как мне включить последний шаг в запрос odata. Добавление третьего условия, проверяющего, что организатор равен отправителю, в одном запросе odata
...