如何从 DevOps 获取团队头像 api

How to get team avtar from DevOps api

我尝试使用 DevOps 获取团队详细信息API,我可以获取但无法获取团队Avtar/image,响应只有文本信息,没有可用的描述符

我是用这种方式获取的.. https://docs.microsoft.com/en-us/rest/api/azure/devops/core/teams/get?view=azure-devops-rest-6.0

能否请您指导我如何获得团队 Avtar/image ???

使用来自 Azure DevOps 的主题查询API 图

参考:https://docs.microsoft.com/en-us/rest/api/azure/devops/graph/subject%20query/query?view=azure-devops-rest-6.0

像这样定义正文:

{
    "query": "Your Group Name",
    "subjectKind": [ "Group" ]
}

描述符位于结果中每个项目的末尾。

然后在belov请求中使用获取头像

https://dev.azure.com/(Organization)/_apis/GraphProfile/MemberAvatars/(descriptor)

How to get team avtar from DevOps api

在 Azure Devops 的安全性中,subjectDescriptor 是用户的 SID。在进行某些安全控制时用作标识。此参数可以唯一标识 跨帐户和组织的同一图表主题。

要获取它,只需使用以下 API:

GET https://vssps.dev.azure.com/{org name}/_apis/graph/users?api-version=5.1-preview.1

从它的响应体中,你可以得到对应用户的descriptor值。

接下来,您可以将相应的descriptor值作为subjectDescriptor传递给REST API Avatars - Get:

GET https://vssps.dev.azure.com/{organization}/_apis/graph/Subjects/{subjectDescriptor}/avatars?api-version=6.0-preview.1

另外,上面RESTAPI的return结果是图片的内容,为了得到头像的图片,我们需要提供参数format=png

更新:

this api for user avtar... i want to get project avtar

要获取项目头像,我们需要获取项目的subjectDescriptor。我们可以使用 REST API:

https://dev.azure.com/{organization}/_apis/graph/descriptors/{Teams Id}?api-version=5.0-preview.1 

要获得 Teams Id,我们可以使用 Teams - Get All Teams:

GET https://dev.azure.com/{organization}/_apis/teams?api-version=5.1-preview.1

然后获取团队项目描述符的 ID:

现在,我们可以得到项目头像: