Уточнение документации по дельта-запросам Microsoft graph

Я просматриваю документацию по Microsoft Graph https://docs.microsoft.com/en-us/graph/delta-query-events?tabs=java и обнаружил, что этот раздел Следующий этап: образец первого запроса не включает дельта-запрос как часть запроса, и в этом случае текущее состояние означает, что все события должны быть возвращены.

Кроме того, я вижу, что у того же запроса нет даты начала или окончания. Мне известно, что этот вызов выполняется с использованием deltaToken, полученного в последнем вызове. Итак, следует ли передавать дату начала и окончания при вызове, когда я использую deltaToken для получения следующего набора изменений?

Ниже приведен код, используемый в документации (не включены ни deltaToken, ни дата начала и окончания):

IGraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();

LinkedList<Option> requestOptions = new LinkedList<Option>();
requestOptions.add(new HeaderOption("Prefer", "odata.maxpagesize=2"));

IEventDeltaCollectionPage delta = graphClient.me().calendarView()
    .delta()
    .buildRequest( requestOptions )
    .get();

Пожалуйста помоги. Заранее спасибо.




Ответы (1)


Любой параметр запроса, указанный в начальном запросе Delta, будет закодирован в токене Delta или skip, поэтому вам не нужно передавать его каждый раз. (Даты начала и окончания)

Кажется, есть проблема с этой страницей документации, она никогда не показывает использование ссылки Delta и передачу ее обратно в качестве параметра запроса токена Delta (аналогично тому, что сделано с skiptoken). Завтра я расскажу о документах, чтобы это исправить.

person baywet    schedule 08.07.2020
comment
Итак, если у меня есть дельта-токен от предыдущего вызова, мне не нужно передавать дату начала и окончания для этого вызова? Мне известны даты начала и окончания, закодированные в skipToken, но я не уверен, закодированы они в deltaToken или нет? Не могли бы вы подтвердить еще раз? Извините за повторение. - person Croy; 09.07.2020
comment
да, каждый обязательный параметр, который вы указали в начальном дельта-запросе (без дельта-токена или токена пропуска), будет закодирован в последующих токенах дельта / пропуска, и вам не нужно будет предоставлять их снова. - person baywet; 09.07.2020
comment
Спасибо @baywet за разъяснения. - person Croy; 09.07.2020