Список сообщений канала не возвращает полный список сообщений

#microsoft-graph-api

#microsoft-graph-api

Вопрос:

Я не уверен, является ли это поведение преднамеренным или ошибкой. Пользовательский интерфейс Teams в настоящее время отображает 5 сообщений от 8/29/2018 до 3/10/2019 . Я хочу получить все эти сообщения с помощью Graph API .

Вот что я сделал последовательно:

  • GET beta/teams/{id}/channels/{id}/messages возвращает 3 сообщения, количество 4 и nextLink .

  • GET nextLink возвращает 0 сообщений, 0 подсчетов и nextLink

  • GET nextLink возвращает 2 сообщения, количество 2, нет nextLink .

Если я взаимодействую с одним из сообщений на последней странице (т. Е. отвечая на одно), оно перемещает это сообщение на первую страницу. "Liking" или добавление закладок в сообщение не влияет на порядок возврата этого конкретного сообщения.

Результаты выглядят следующим образом:

 1. Page 1: 4 messages, 4 count, nextLink
2. Page 2: 0 messages, 0 count, nextLink
3. Page 3: 1 message, 1 count, no nextLink
  

Страница 2 не должна быть пустой?

Ответ №1:

GET /teams/{id}/channels/{id}/messages возвращает сообщения в том порядке, в каком они отображались бы в Microsoft Teams. Так что да, ожидается, что добавление ответа приведет к изменению порядка сообщений, в то время как лайки и закладки — нет.

Комментарии:

1. Спасибо @Nick. Как насчет страницы без сообщений, но содержащей следующую ссылку (т.Е. страница 2) на страницу с большим количеством сообщений следует ожидать поведения (т.е. страница 3)?

2. Одна из наших нынешних особенностей заключается в том, что мы не возвращаем контрольные сообщения («Боб добавил Фреда в команду»), но мы включаем их в количество сообщений. Так что, если вы читаете канал с управляющими сообщениями, вероятно, именно это и происходит.

3. Полезно знать. Спасибо! Возможно, это можно включить по адресу learn.microsoft.com — Я сделаю комментарий там. (messages = await messages.NextPageRequest.GetAsync()).Count > 0) Прекратил бы подкачку до конца.