Graph API: использование $filter с данными расширений схемы не работает, когда запрос отправляется как часть пакетной операции

#azure-active-directory #microsoft-graph-api #azure-ad-graph-api

#azure-active-directory #microsoft-graph-api #azure-ad-graph-api

Вопрос:

Согласно документации Graph API, выполнение запроса GET для получения групп с данными расширения, которые включают отфильтрованный ответ, является приемлемым. Например, согласно документу, на который ссылается следующий запрос, должен быть действительным:

 GET https://graph.microsoft.com/v1.0/users/${id}/memberOf?$filter=graphlearn_courses/courseId eq ‘123’amp;$select=displayName,id,description,graphlearn_courses 
  

Это работает при выполнении запроса как одноэлементного, но завершается сбоем и не возвращает ответа, когда тот же запрос выполняется как часть пакетного запроса:

 POST https://graph.microsoft.com/v1.0/$batch
Accept: application/json
Content-Type: application/json

{
  "requests": [
    {
      "id": "1",
      "method": "GET",
      "url": "/users/${id}/memberOf?$filter=graphlearn_courses/courseId eq ‘123’amp;$select=displayName,id,description,graphlearn_courses"
    }
    ...
  ]
}
  

Можно ли это изучить и решить проблему с помощью кого-нибудь из службы поддержки MS, пожалуйста? Заранее благодарю вас.

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

1. К вашему сведению, это не удается с версиями Graph API / v1.0 и /beta.

2. У меня другое поведение с вами. Не могли бы вы поделиться скриншотом успешного вызова singleton ? (включая полный запрос и ответ)

3. Пожалуйста, обратите внимание, что расширения схемы (устаревшие) не возвращаются с помощью оператора $select, а возвращаются без $select . Поэтому я бы рекомендовал вам попробовать это и посмотреть, поможет ли это. Это задокументировано в ограничениях Microsoft Graph API — learn.microsoft.com/en-us/graph/known-issues#delta-query

4. Вам все еще нужна помощь по этому вопросу? Если да, пожалуйста, поделитесь более подробной информацией, о которой я упоминал выше.

Ответ №1:

Расширения схемы (устаревшие) не возвращаются с помощью оператора $select, а возвращаются без $select . Поэтому я бы рекомендовал вам попробовать это и посмотреть, поможет ли это. Документация доступна @ Ограничения Microsoft Graph API.