EWS управлял API, чтобы проверить, существует ли событие в учетной записи пользователя или нет - PullRequest
0 голосов
/ 18 января 2019

Я использую управляемый API EWS для создания событий календаря в учетной записи пользователя. Теперь я хочу проверить, существует ли событие календаря в учетной записи пользователя или нет, прежде чем создавать его.

Предположим, у пользователя было 10 событий, и я сделал резервную копию. Сейчас пользователь удалил 4 события поэтому я хочу создать только эти 4 события. Как я могу использовать для существующих Календарь событий в пользовательском обменном онлайн-аккаунте.

Я использовал это свойство класса FindItem для поиска пропущенных событий, но здесь мне пришлось указать startdate и enddate. (Я ищу тип класса isExistItem для поиска только удаленных и обновленных событий)

<soap:Body>
    <m:FindItem Traversal="Shallow">
      <m:ItemShape>
        <t:BaseShape>IdOnly</t:BaseShape>
        <t:AdditionalProperties>
          <t:FieldURI FieldURI="item:Subject" />
          <t:FieldURI FieldURI="calendar:Start" />
          <t:FieldURI FieldURI="calendar:End" />
        </t:AdditionalProperties>
      </m:ItemShape>
      <m:CalendarView MaxEntriesReturned="5" StartDate="2013-08-21T17:30:24.127Z" EndDate="2013-09-20T17:30:24.127Z" />
      <m:ParentFolderIds>
        <t:FolderId Id="AAMk" ChangeKey="AgAA" />
      </m:ParentFolderIds>
    </m:FindItem>
  </soap:Body>

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 20 января 2019

Как правило, вы всегда хотите использовать CalendarView при просмотре встреч, потому что это расширяет повторяющиеся встречи. Вы не можете использовать фильтры с CalenderView, так что, хотя это может быть не так эффективно, как вы хотели бы, просто извлечение и синхронизация за период времени, как правило, является лучшим подходом и используйте свойство GOID https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidlidglobalobjectid-canonical-property в качестве идентификатора.

...