如何通过 REST API 获得 Azure DevOps 组织的所有者?

How do I get the owner of an Azure DevOps organization via the REST API?

我一直在搜索 Azure DevOps API documentation 以了解如何通过 API 获得组织的所有者 。我已经能够获得组列表和用户列表等,但不能获得组织。到目前为止,我正在使用 SoapUI 来测试我的调用。稍后,我将构建一个C#项目。

相关信息:

在 DevOps 门户的帮助下,我设法找到了 REST API。使用管理员凭据导航到 dev.azure.com。如果您导航到概述并保持网络流量打开,您可以看到请求,

https://dev.azure.com/{yourOrganization}/_apis/Contribution/HierarchyQuery

给出的响应为,

{
  "dataProviderSharedData": {},
  "dataProviders": {
    "ms.vss-web.component-data": {},
    "ms.vss-web.shared-data": null,
    "ms.vss-admin-web.organization-admin-overview-data-provider": {
      "id": "cf9a37c1-7c97-4018-8530-962f45b30999",
      "name": "ngColombo",
      "timeZone": {
        "displayName": "UTC",
        "id": "UTC"
      },
      "url": "https://dev.azure.com/ngColombo/",
      "description": "",
      "privacyUrl": "",
      "region": "East Asia",
      "hasModifyPermissions": true
    }
  }

}

你可以看到ms.vss-admin-web.organization-admin-overview-data-provider这会给组织的所有者。

示例代码:

getOrganisations () {
    const body = {
      'contributionIds': ['ms.vss-features.my-organizations-data-provider'],
      'dataProviderContext': {
        'properties': {}
      }
    }

    const url = 'https://dev.azure.com/Aevitae/_apis/Contribution/HierarchyQuery?api-version=5.0-preview.1'
    return axios.post(url, body, this.options)
  }