如何在 Azure Devops API 中获取 userId 字段

Fri*_*rip 7 azure azure-devops azure-pipelines azure-devops-rest-api

我必须使用此 API:PATCH https://vsaex.dev.azure.com/{organization}/_apis/userentitlements/{userId}向组织中的所有用户授予对某些项目的读取权限。我能够成功调用此 API,但我不知道如何为用户获取正确的 GUID。(为了为用户获取正确的 Guid,我使用 Fiddler 来监视请求)。

当我使用此 API 时,(GET https://vssps.dev.azure.com/{organization}/_apis/graph/users?api-version=6.0-preview.1)我获得了组织的所有用户,但在列表中没有 userId,我只有 originId,它是来自 AAD 的 guid,我无法使用该信息更新用户。

我也尝试使用描述符字段,但没有成功。有人知道如何获取这个特定的 userId 吗?

我通过此 API 获得的用户列表示例:

{
    "count": 133,
    "value": [{
        "subjectKind": "user",
        "metaType": "member",
        "directoryAlias": "COD0001",
        "domain": "10a83eaa-05c5-4b22-a201-63cddba4fe8c",
        "principalName": "bidon.person@example.com",
        "mailAddress": "bidon.person@example.com",
        "origin": "aad",
        "originId": "7c3408d6-62f4-43ff-bdbe-5be97000ba30",
        "displayName": "Personne bidon",
        "_links": {
            "self": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/Users/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "memberships": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/Memberships/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "membershipState": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/MembershipStates/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "storageKey": {
                "href": "https://vssps.dev.azure.com/BIDON/_apis/Graph/StorageKeys/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            },
            "avatar": {
                "href": "https://dev.azure.com/BIDON/_apis/GraphProfile/MemberAvatars/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
            }
        },
        "url": "https://vssps.dev.azure.com/BIDON/_apis/Graph/Users/aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx",
        "descriptor": "aad.ZDYzNzUwNzctNWJjYy03ZTkzLWIzZGUtMDEzNTdhM2JiMDIx"
    },
    ...
    ]
Run Code Online (Sandbox Code Playgroud)

}

Krz*_*tof 7

要获取 id,您应该使用用户权利 - 搜索用户权利,即

GET https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=6.0-preview.3
Run Code Online (Sandbox Code Playgroud)

然后你会得到像这样的回应

GET https://vsaex.dev.azure.com/{organization}/_apis/userentitlements?api-version=6.0-preview.3
Run Code Online (Sandbox Code Playgroud)