我正在尝试按名称解析特定的 VSTS 组以检索 IdentityDescriptor 属性。我不想查询所有组和过滤器,而是想利用支持的查询参数。看着VSTS 组 - 列表 API https://learn.microsoft.com/en-us/rest/api/vsts/graph/groups/list,它支持额外的查询参数scopeDescriptor和subjectType。但是,我一直为这些参数提供错误的值。
但是,当我指定这些的任意组合时,我得到 0 结果。此外,一旦添加了scopeDescriptor,我就会遇到 Microsoft.VisualStudio.Services.Graph.InvalidSubjectTypeException -> HTTP 400 Bad Request。
问题:
- subjectTypes 的预期值的示例有哪些?
Edit 1subjectTypes 不是实际类型,而是主题描述符前缀的子类型。例如 -> vssgp,aadgp:
"subjectDescriptor": "vssgp.Dc0NDgzLTzQ1NwOTI5LTI0NTcwNDLTAtMwUy0xLTktMTAtMC0wMjgxNjcxNDU0OS0zMU1MTM3NDI0NS0yMjUzNzA0ODMtE"
- scopeDescriptor 的预期值有哪些示例?
查询网址示例:
- 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
您可以通过发出 api 请求来获取项目或集合的范围描述符https://vssps.dev.azure.com/{organization}/_apis/graph/descriptors/{Id}
(如果您想获取项目的范围描述符等,请将 id 替换为 projectId)。
例如,如果您想获取项目的范围描述符,只需将请求 URL 中的存储键替换为项目 ID,作为响应,您将获得范围描述符。范围描述符具有以下格式 scp.(长唯一标识符)。
P.S:更多关于如何获取描述符的信息可以在这里找到https://learn.microsoft.com/en-us/rest/api/azure/devops/graph/descriptors/get?view=azure-devops-rest-5.0 https://learn.microsoft.com/en-us/rest/api/azure/devops/graph/descriptors/get?view=azure-devops-rest-5.0。请记住,storagekey 可以替换为projectid 或collectionid 以获取特定描述符。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)