2017-02-16 1 views
0

Я кодирую Microsoft Graph CSharp SDK, и я работаю над проверкой возможности фильтрации объекта IDriveSearchCollectionPage между двумя разными датами.Microsoft Graph CSharp SDK и фильтрация. Как создать запрос на фильтрацию на две разные даты?

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

await graphServiceClient.Drives["[email protected]"].Search(searchQuery).Request().Filter(...).GetAsync();

Я заметил, что есть .Filter() метод, который живет на IDriveSearchRequest, но он принимает только один аргумент типа string. Я взглянул на документы Microsoft, Filtering Docs.

После прочтения документов у меня по-прежнему возникает проблема с созданием .Filter(), который принимает дату и сравнивает ее с объектом DateTime.Now.

Вот мой текущий запрос:

await graphServiceClient.Drives["[email protected]"] .Search(searchQuery) .Request() .Filter($"02-15-2017 lt {DateTime.Now.ToString("MM-dd-yyyy")}") .GetAsync();

Когда я выполняю этот запрос я получаю Bad Request ошибку. Может ли кто-нибудь дать мне руку с. Filter() где я просто пытаюсь сравнить две даты?

ответ

0

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

Проблемы я вижу:

  1. Я не знаю точно, можно ли выполнить поиск и фильтр в тот же запрос. Я предполагаю, что нет. Попробуйте использовать только по одному.
  2. Если вы хотите использовать фильтр, для его цели требуется свойство. Укажите свойство, которое вы хотите настроить, вместо 02-15-2017 в фильтре.
+0

Я делал некоторые копания. Я прочитал примечание к документам OneDrive Api, которые говорили что-то вроде: «поддержка фильтрации только * имя * и * url * свойства». Url: https://dev.onedrive.com/odata/filtering.htm Основываясь на этой заметке - мы можем фильтровать только на 'Name' и' Url', или мы также можем создать 'createdDateTime' для OneDrive for Business ? – jdave

+1

Я бы начал с того, что говорится в этом документе. С учетом сказанного я предлагаю вам попробовать создать фильтр createdDateTime, если служба и документы не синхронизированы. Если это не работает в настоящее время, я предлагаю вам проголосовать и прокомментировать следующий запрос функции: https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/16755322-add -filter-поддержка-на-onedrive-для-бизнеса –

Смежные вопросы