Я пытаюсь использовать дельта-запрос, чтобы получить изменения в одном из календарей комнат, когда я использую дату начала и дату окончания, чтобы задать первоначальный запрос, он возвращает правильные данные о событиях, а затем после этого, когда я использую дельту в следующий раз, чтобы сделать запрос, но он возвращает данные события с тегом, говорящим, что это конкретное событие было удалено, и не возвращает никакой ценной информации, кроме идентификатора формы.
Вот мой код
private async Task<IEventDeltaCollectionPage> GetEventData(GraphServiceClient graphClient, object deltaLink)
{
IEventDeltaCollectionPage page;
if (lastPage == null)
{
var queryOptions = new List<QueryOption>();
if (deltaLink == null)
{
queryOptions = new List<QueryOption>()
{
new QueryOption("startdatetime", "2020-01-16T00:00:00Z"),
new QueryOption("enddatetime", "2020-01-24T00:00:00Z")
};
}
else
{
queryOptions = new List<QueryOption>()
{
new QueryOption("$deltatoken", deltaLink.ToString())
};
}
page = await graphClient
.Users["nitroom2@domain.onmicrosoft.com"].CalendarView
.Delta()
.Request(queryOptions)
.GetAsync();
}
else
{
lastPage.InitializeNextPageRequest(graphClient, deltaLink.ToString());
page = await lastPage.NextPageRequest.GetAsync();
}
lastPage = page;
return page;
}
Как вы видите, этот код будет искать диапазон дат или дельта-токен. так что я сначала делаю вызов без дельта-токена, затем как только получаю окончательный ответ, я получаю дельта-токен. На этот раз я перезапускаю приложение и предоставляю жестко закодированный дельта-токен. Перед перезапуском приложения я также проверяю, есть ли новое событие, созданное или обновленное в календаре комнат, а затем перезапускаю приложение с дельта-токеном. Я получаю ответ с некоторыми данными о событии, но это говорит о том, что событие было удалено, но это не так.
![enter image description here](https://i.stack.imgur.com/OR5HF.png)
Не уверен, кто я ошибся здесь. кто-нибудь может предложить?