如何从DevOps API获取团队头像

时间:2020-08-21 17:02:07

标签: azure azure-devops azure-devops-rest-api

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

我正在使用这种方式来获取它。 https://docs.microsoft.com/en-us/rest/api/azure/devops/core/teams/get?view=azure-devops-rest-6.0

您能指导我如何获得团队Avtar /图片???

2 个答案:

答案 0 :(得分:1)

使用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)

答案 1 :(得分:0)

如何从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值。

enter image description here

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

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

此外,上述REST API的返回结果是图片的内容,为了获取头像的图片,我们需要提供参数format=png

enter image description here

更新

此用于用户avtar的api ...我想获取项目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

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

enter image description here

现在,我们可以获取项目avtar:

enter image description here