$ фильтрует все письма, которые не имеют "категории" - PullRequest
1 голос
/ 06 апреля 2019

Я пытаюсь получить все письма, у которых нет «категорий» («категории» - это набор строк) с помощью API Microsoft Graph Node.JS.

Я могу получить почту, которая имеет категорию "xyz", но не наоборот.

Этот код успешно извлекает все письма, имеющие категории "xyz":

   .api("/users('mybox@mydomain.com')/mailfolders/inbox/messages")
   .top(10)
   .select('subject,from,receivedDateTime')
   .filter("categories/any(t:t eq 'xyz')")
   .orderby('receivedDateTime DESC')
   .get();

Когда я пытаюсь: .filter("categories/any(t:t ne 'xyz')") Я получаю все письма (с или без «категорий» «xyz»)

Когда я пытаюсь: .filter("not categories/any(t:t eq 'xyz')") Я получаю ошибку с {"code": "BadRequest","message":"Filter not supported."}

Когда я пытаюсь: .filter("categories/all(t:t ne 'xyz')") Я получаю ошибку с {"code": "BadRequest","message":"Filter not supported."}

1 Ответ

0 голосов
/ 10 июля 2019

вам удалось решить эту проблему?2 из 3 опций, которые вы попробовали, понятны:

  1. .filter("categories/any(t:t ne 'xyz')") Это вернет письма, которым была назначена любая категория, отличная от 'xyz', или которым не была назначена никакая категория.
  2. .filter("not categories/any(t:t eq 'xyz')") Мне не удалось заставить фильтр работать с ключевым словом not
  3. .filter("categories/all(t:t ne 'xyz')") Насколько мне известно, ключевое слово "all" не поддерживается в MS Graph API.
...