通过Azure DevOps的REST API使用访问令牌获取用户详细信息

3
在我们的APP中,我们有一个用于Azure DevOps上用户的用户令牌。我们使用它来使用REST API在Azure DevOps实例中执行某些操作。为了忽略由该特定用户执行的操作触发的Webhook,我们需要知道该用户的电子邮件地址。是否有API可以提供那个?
我尝试了使用"me"替换{id},按照他们的文档https://learn.microsoft.com/en-us/rest/api/azure/devops/profile/profiles/get?view=azure-devops-rest-5.1中建议的方式执行GET https://app.vssps.visualstudio.com/_apis/profile/profiles/{id}?api-version=5.1,但它会抛出"Resource cannot be found"错误。
1个回答

0
我们需要知道用户的电子邮件地址。是否有一个API可以提供这个信息?
针对这个问题,您可以使用用户-列表 REST API来实现。
请求示例:
GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=5.1-preview.1

示例响应:

{
      "subjectKind": "user",
      "metaType": "member",
      "domain": "LOCAL AUTHORITY",
      "principalName": "TeamFoundationService (TEAM FOUNDATION)",
      "mailAddress": "xxx.@xxx.com",
      "origin": "vsts",
      "originId": "00ca946b-2fe9-4f2a-ae2f-40d5c48001bc",
      "displayName": "TeamFoundationService (TEAM FOUNDATION)",
      "_links": {
        "self": {
          "href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/Users/acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj"
        },
        "memberships": {
          "href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/Memberships/acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj"
        },
        "membershipState": {
          "href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/MembershipStates/acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj"
        },
        "storageKey": {
          "href": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/StorageKeys/acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj"
        },
        "avatar": {
          "href": "https://dev.azure.com/Fabrikam/_apis/GraphProfile/MemberAvatars/acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj"
        }
      },
      "url": "https://vssps.dev.azure.com/Fabrikam/_apis/Graph/Users/acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj",
      "descriptor": "acs.Nzc4OWYwOWQtZTA1My00ZjJlLWJkZWUtMGM4Zjg0NzZhNGJj"
    }

你可以从响应体中的mailAddress变量获取用户的电子邮件。通过在Users-Get rest api中指定descriptor参数,你可以获取特定用户的详细信息。


谢谢您。我也发现可以使用配置文件 API 来获取电子邮件地址。 - Vikram

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接