gpt4 book ai didi

powershell - 为什么个人访问 token (PAT) 需要完全访问权限才能为 Azure DevOps REST API 提供服务?

转载 作者:行者123 更新时间:2023-12-05 07:14:37 25 4
gpt4 key购买 nike

当通过 PowerShell 通过 REST API 访问 Azure DevOps 时,用于身份验证的个人访问 token (PAT) 需要完全访问权限

PAT scope setting

当 PAT 设置为自定义访问并启用每个范围时,一些请求会失败:

Invoke-RestMethod : The remote server returned an error: (401) Unauthorized.

为什么完全访问权限不等于启用每个范围和最大权限的自定义访问权限?难道不能将PAT限制在请求实际涉及的范围内吗?

编辑:相关的 REST API 请求:

GET https://dev.azure.com/{organization}/{project}/_apis/build/latest/{definition}?api-version=5.1-preview.1

最佳答案

对于这个问题,我测试了你列出的api。我尝试在 Build 范围内仅选择 Read 访问权限,PAT 工作正常。

enter image description here

enter image description here

我还尝试在启用每个范围的情况下设置自定义访问权限,显然这也可以正常工作。

在一些特殊的api中,我们只能使用Full access,因为并不是所有的scope都会在Custom defined access中列出。 Custom defined access 中未定义某些特殊情况 api 的范围。例如,api 是从浏览器的网络中跟踪的,并没有记录在官方文档中。可以引用这个case .

您使用的 API 记录在 documentation 中, 你可以尝试在 Postman 中测试一下,看看结果是否一样。

关于powershell - 为什么个人访问 token (PAT) 需要完全访问权限才能为 Azure DevOps REST API 提供服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59865441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com