我正在运行下面的代码以获取Odata查询,但遇到身份验证错误
import requests
import json
endpoint_url = "https://analytics.dev.azure.com/pbi0280/TestOdata/_odata/v4.0-preview/WorkItems?$select=WorkItemId,WorkItemType,Title,State"
pat = "vch3ufmtbnimclfumrms5vgulcktrtakhp2hig3p7v3cs3ormi7q"
headers = {"Authorization": "Bearer " + pat}
response = requests.get(endpoint_url, headers=headers)
data = json.loads(open(response.text,encoding='utf-8-sig'))
print(data)
错误:没有这样的文件或目录:"\ufeff {" $ID":"1","内部异常":空,"消息":"TF400813:用户"aaaaaaaaa-aaaa-aaaa-aaaaaaaaaaaaaaaaaaaaaaaaa"未被授权访问此资源。","类型名称":" Microsoft. TeamFoundation. Framework. Server.未授权请求异常,Microsoft. TeamFoundation. Framework. Server ","类型密钥":"未授权请求异常","错误代码":0,"事件ID ":3000}"
当我在网上运行相同的网址,它的工作和json输出罚款。
1条答案
按热度按时间fdx2calv1#
Azure DevOps不支持具有个人访问令牌(PAT)的
Authorization: Bearer
。必须使用基本身份验证提供这些令牌。用户名可以留空,但必须提供PAT作为密码。切换到基本身份验证,您的代码应该可以正常工作。