Как использовать scopeDescriptor и subjectTypes в запросе списка групп API VSTS Graph? - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь разрешить определенную группу VSTS по имени, чтобы получить свойство identityDescriptor. Вместо того, чтобы запрашивать все группы и фильтры, я хочу использовать поддерживаемые параметры запроса. Глядя на VSTS Groups - List API , он поддерживает дополнительные параметры запроса scopeDescriptor и subjectType. Однако я продолжаю предоставлять неверные значения для этих параметров.

Однако, когда я указываю любую комбинацию из них, я получаю 0 результатов. Кроме того, как только я добавляю scopeDescriptor, я нажимаю на Microsoft.VisualStudio.Services.Graph.InvalidSubjectTypeException -> HTTP 400 Bad Request.

Вопросы:

  1. Какие примеры ожидаемых значений для subjectTypes?

Редактировать 1 subjectTypes - это не фактический тип, а подтип, который ставит префикс дескриптора субъекта. Например -> vssgp, aadgp:

"subjectDescriptor": "vssgp.Dc0NDgzLTzQ1NwOTI5LTI0NTcwNDLTAtMwUy0xLTktMTAtMC0wMjgxNjcxNDU0OS0zMU1MTM3NDI0NS0yMjUzNzA0ODMtE"
  1. Какие примеры ожидаемых значений для scopeDescriptor?

Пример URL запроса:

 - Working:
   https://{account}.vssps.visualstudio.com/_apis/graph/groups?api-version=4.1-preview.1

 - Working subjectTypes:
   https://{account}.vssps.visualstudio.com/_apis/graph/groups?subjectTypes=vssgp&api-version=4.1-preview.1

 - scopeDescriptor throws:
   https://{account}.vssps.visualstudio.com/_apis/graph/groups?scopeDescriptor=collection&api-version=4.1-preview.1
   https://{account}.vssps.visualstudio.com/_apis/graph/groups?scopeDescriptor=collection&subjectTypes=Microsoft.TeamFoundation.Identity&api-version=4.1-preview.1

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Вы можете получить дескрипторы области действия для проекта или коллекции, сделав запрос API для https://vssps.dev.azure.com/{organization}/_apis/graph/descriptors/{Id} (замените id на projectId, если вы хотите получить дескриптор области для проекта и т. Д.).

Например, если вы хотите получить дескриптор области для проекта, просто замените ключ хранения в URL-адресе запроса на идентификатор проекта, и в ответ вы получите дескриптор области. Дескриптор области имеет следующий формат scp. (Длинный уникальный идентификатор).

P.S .: Подробнее о том, как получить дескрипторы, можно найти здесь https://docs.microsoft.com/en-us/rest/api/azure/devops/graph/descriptors/get?view=azure-devops-rest-5.0. Помните, что ключ хранилища можно заменить на projectid или collectionid, чтобы получить конкретные дескрипторы.

0 голосов
/ 04 мая 2018

Относительно subjectTypes, это тип группы, такой как vssgp, aadgp, вы можете получить его из значения дескриптора каждой группы.

...