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 在第一次调用中使用最新的增量标记的空响应,然后您需要进行第二次调用以获取最新的更改。
此行为是设计使然。
资源:
我想知道在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 在第一次调用中使用最新的增量标记的空响应,然后您需要进行第二次调用以获取最新的更改。
此行为是设计使然。
资源: