ErrorItemNotFound ошибка для ресурса сообщения, но обнаруживается при применении фильтра OData - PullRequest
0 голосов
/ 21 мая 2019

У нас возникла проблема с некоторыми из наших пользователей, из-за которой наши HTTP-запросы к API Graph привели к ошибке ErrorItemNotFound:

{
  "error": {
    "code": "ErrorItemNotFound",
    "message": "The specified object was not found in the store., The process failed to get the correct properties.",
    "innerError": {
      "request-id": "c65a51b6-163c-4b68-9cf5-976b3738af0c",
      "date": "2019-05-20T20:35:52"
    }
  }
}

Мы пытаемся получить ресурс сообщений через конечную точку messages .

Мы предпринимали попытки запросить конкретное сообщение для пользователя с конечной точкой /me/messages/{id}. Простой запрос сообщения с использованием идентификатора сообщения возвращает эту ошибку.

Однако последующий запрос к списку сообщений конечной точке возвращает сообщение. Этот запрос предоставляет параметр OData $filter. Идентификатор сообщения не изменился, и сообщение не было перемещено.

https://graph.microsoft.com/v1.0/me/messages
 ?$filter=(createdDateTime ge 2019-05-03T17:56:58Z) 
 and (createdDateTime le 2019-05-03T17:57:13Z)

Примечание : сообщение все еще может быть найдено без предоставления фильтра. Я не думаю, что вы рекомендуете делать запросы на большее количество данных, чем нам нужно, и иметь фильтр клиента (конечного пользователя / потребителя). Правильно?

Невероятно странно, что API не может найти сообщение, используя запрос "членство" / получить элемент по его уникальному идентификатору, но может при использовании запроса "коллекция" / список элементов. Это похоже на ошибку. Я видел похожую проблему, на которую ваша команда не ответила в хранилище документации на GitHub.

Это может быть воспроизведено в вашем Graph Explorer или любом другом HTTP-клиенте (curl, Postman). Это похоже на ошибку.

...