Microsoft Graph 增量信息仅在第二次调用后

Microsoft Graph Delta information only after second call

我想知道在Microsoft Graph中用Delta最后修改的文件,我是这样实现的:

 //...
 private static object DeltaLink = null;
 private static IDriveItemDeltaCollectionPage lastPage = null;
 private async Task<IDriveItemDeltaCollectionPage> GetFiles(GraphServiceClient graphClient, object deltaLink)
 {
     IDriveItemDeltaCollectionPage page;
     if (lastPage == null)
     {
         var queryOptions = new List<QueryOption>() {
         new QueryOption("token", "latest"),
         new QueryOption("$select", "name,id")
         };
         page = await graphClient.Drives["{Drive-Id}"]
                                 .Items["{Folder-Id}"]
                                 .Delta()
                                 .Request(queryOptions)
                                 .GetAsync();
     }
     else
     {
         lastPage.InitializeNextPageRequest(graphClient, deltaLink.ToString());
         page = await lastPage.NextPageRequest.GetAsync();
     }
     lastPage = page;
      
     return page;
 }

问题是我在第二次调用 Delta 后才获得有关文件更改的信息。但是,我如何才能在第一次通话时获得信息?

这是因为 token=latest returns 在第一次调用中使用最新的增量标记的空响应,然后您需要进行第二次调用以获取最新的更改。

此行为是设计使然。

资源:

Use delta query

driveItem delta function parameters