График Api Delta токен не возвращает правильные данные - PullRequest
0 голосов
/ 24 января 2020

Я пытаюсь использовать дельта-запрос, чтобы получить изменения в одном из календарей комнат, когда я использую дату начала и дату окончания, чтобы задать первоначальный запрос, он возвращает правильные данные о событиях, а затем после этого, когда я использую дельту в следующий раз, чтобы сделать запрос, но он возвращает данные события с тегом, говорящим, что это конкретное событие было удалено, и не возвращает никакой ценной информации, кроме идентификатора формы.

Вот мой код

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

Не уверен, кто я ошибся здесь. кто-нибудь может предложить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...