Не работает фильтрация последних файлов Microsoft Graph API

#microsoft-graph-api #onedrive

#microsoft-graph-api #onedrive

Вопрос:

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

Я делаю запрос GET на следующую конечную точку:

 https://graph.microsoft.com/v1.0/me/drive/recent?$filter=lastModifiedDateTime ge 2020-08-25T05:30:00Z
  

И я получаю Microsoft.SharePoint.Client.InvalidClientQueryException следующее сообщение:

 'The expression "lastModifiedDateTime ge 2020-08-25T05:30:00Z" is not valid.'
  

Пожалуйста, помогите!

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

1. Эта ошибка в основном связана с отсутствием одинарных кавычек (‘) между временными метками. И после этого вы получаете ошибку «Недопустимое предложение фильтра». Было бы лучше отфильтровать его с вашей стороны и использовать данные, поскольку большинство свойств не поддерживают фильтрацию.

2. Спасибо @Shiva-MSFTIdentity. В итоге я сделал то, что вы предложили. Не идеально, но работает.

3. Спасибо за ответ @Utkarsh. Перемещаем это в ответ.

4. Привет, если опубликованный ответ разрешает ваш вопрос, пожалуйста, отметьте его как ответ, установив флажок. Это помогает другим пользователям находить ответы на свои вопросы. Смотрите meta.stackexchange.com/questions/5234 /…

Ответ №1:

Отображаемая ошибка гласит: «Выражение «lastModifiedDateTime ge 2020-08-25T05:30:00Z» недопустимо», что означает, что выражение, которое вы указали в фильтре, неверно. Вам нужно исправить это, как показано ниже.

 https://graph.microsoft.com/v1.0/me/drive/recent?$filter=lastModifiedDateTime ge '2020-08-25T05:30:00Z'
  

Но все же этот вызов не работает, потому что фильтр не поддерживается в этом свойстве, и в итоге вы получите «Недопустимое предложение фильтра».

В качестве обходного пути вы можете получить последние файлы и отфильтровать их на своем конце, поскольку большинство свойств пока не поддерживают фильтрацию.