【发布时间】:2020-05-08 22:49:17
【问题描述】:
通过 PowerShell 通过 REST API 访问 Azure DevOps 时,用于身份验证的个人访问令牌 (PAT) 需要完全访问权限。
当 PAT 设置为 自定义 访问并启用每个范围时,一些请求会失败:
Invoke-RestMethod : 远程服务器返回错误:(401) Unauthorized.
为什么 完全访问权限 不等于 自定义 访问权限并启用每个范围和最大权限?是否不能将 PAT 限制在请求实际涉及的范围内?
编辑:相关的 REST API 请求:
GET https://dev.azure.com/{organization}/{project}/_apis/build/latest/{definition}?api-version=5.1-preview.1
【问题讨论】:
-
可能有助于提供您发送的 API 请求
-
我也有同样的问题。即使启用了所有权限,我也无法使用特定端点。如果我选择完全访问权限,它会起作用。就我而言,端点:“dev.azure.com{org}/{projectguid}/_api/_identity/AddTeamAdmins?api-version=5.1-preview.1”我发了一个帖子来向项目团队添加管理员。你知道为什么会这样吗?
-
顺便说一句,直到大约一周前,这才使用自定义范围。现在它需要完全访问权限。有什么想法吗?
-
我从来没有弄清楚这种奇怪行为的原因。我开始尽可能使用默认凭据来验证 REST 请求,以避免处理 PAT。
标签: powershell azure-devops azure-devops-rest-api azure-devops-server-2019