Я настраиваю модуль планирования, который синхронизируется с Microsoft Outlook с помощью Microsoft Graph.Когда я создаю событие, я сохраняю LastModifiedDate в моей базе данных.Позже я вызываю кнопку повторной синхронизации, которая должна проверять каждое событие в моей базе данных и проверять, соответствует ли LastModifiedDate событию в outlook.Если это не так, событие в outlook должно быть обновлено.Это гарантирует, что изменения, внесенные пользователями в их собственные повестки дня Outlook, будут перезаписаны.
Я использую библиотеку модернизации для HTTP-запросов.
Это две конечные точки, которые я вызываю:
@GET("/v1.0/users/{medewerkerid}/calendarview")
Call<PagedResult<Event>> getEventsFromUser(@Path("medewerkerid") String medewerkerId, @Query("startdatetime") String startDatum, @Query("enddatetime") String eindDatum, @Query("$top") Integer maxResults);
@POST("/v1.0/users/{medewerkerid}/events")
Call<Event> createEvent(@Path("medewerkerid") String medewerkerId, @Body Event event);
С ответом от createEvent я мгновенно сохраняю LastModifiedDate в базе данных.В целях тестирования я сразу же вызываю getEventsFromUser и сравниваю их друг с другом.
В моей базе данных (2019-06-20T14: 33: 12.1442573Z) у меня есть событие, которое я получаю из getEventsFromUser (2019-06-20T14: 33: 12.5510283Z).Событие не было затронуто в Microsoft Outlook.Кажется, что это всего лишь несколько миллисекунд, это то, как это должно работать?