【发布时间】:2021-11-26 10:52:43
【问题描述】:
我正在尝试获取 Azure DevOps 中项目的所有工作项。
我面临的问题是身份验证。如何在发送此帖子请求之前进行身份验证/登录?
文档将安全性显示为 0auth2 。但是,我有一个个人访问令牌......正确的方法是什么?如何发送经过身份验证的 POST 请求。我是否必须注册应用程序并获得0auth Token etc..或者 PAT 就足够了?
import requests
import base64
pat = 'nbq'
authorization = str(base64.b64encode(bytes(':'+pat, 'ascii')), 'ascii')
headers = {
'Accept': 'application/json',
'Authorization': 'Basic '+authorization
}
# response = requests.get(url="https://dev.azure.com/company/_apis/projects?api-version=5.1", headers=headers).json()
data = {
"query": "Select [System.Id], [System.Title], [System.State] From WorkItems Where [System.WorkItemType] = 'Task'"
}
wo_it = requests.post('https://dev.azure.com/company/example_project/_apis/wit/wiql?api-version=5.1',data=data)
print(wo_it.text)
【问题讨论】:
-
@DeepDave-MT 我看到了这个。这是要求查询功能。这与我在
data中的查询相同吗?没有办法使用requests进行这项工作吗? -
@DeepDave-MT 我从代码中注释掉的行中获取项目名称。我想为那些使用请求的项目获取
work-items。那行得通吗?我看了很多答案,但是我想不出一种方法来发送经过身份验证的 POST 请求。 -
@DeepDave-MT 这正是我正在使用的。但是,当我发送 POST 请求时,我得到了 Sign-In..
-
如果还有疑问,可以在Azure DevOps Developer Community问同样的问题
标签: python azure azure-devops