我正在设置一个计划模块,该模块使用Microsoft Graph与Microsoft Outlook同步。创建事件时,我将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中未触及该事件。似乎只差了几秒钟,这是它应该工作的方式吗?