我正在尝试向Azure DevOps发出获取请求。
我有URL和Personal_Access_Token。URL是按照以下说明创建的https://learn.microsoft.com/en-us/rest/api/azure/devops/git/items/get?view=azure-devops-rest-6.1&tabs=HTTP#definitions,它在浏览器中工作正常。可以看到目标文件的信息。
但是,当我在python中执行请求时:
import requests
headers = {
'Authorization': 'Bearer myPAT',
}
response = requests.get('exampleurl.com/content', headers=headers)
我收到了203号回复...
我也尝试过以下链接Python requests library how to pass Authorization header with single token的其他选项,但没有成功。包括这些标题:
personal_access_token_encoded = base64.b64encode(personal_access_token.encode('utf-8')).decode('utf-8')
headers={'Authorization': 'Basic '+personal_access_token_encoded}
headers={'Authorization': 'Basic '+personal_access_token}
但在两种情况下仍然有相同的React。
我当然没有考虑什么。会少什么?
2条答案
按热度按时间sgtfey8w1#
对于Azure DevOps API,您需要使用Basic Auth而不是Baerear,仅提供以base64编码的PAT令牌。
kcugc4gi2#
您好,错误反馈203是关于您的无效令牌的。
那么请求调用的授权类型是什么呢?
对于患者
headers = {'Authorization': 'Basic pat'}
对于不记名令牌
headers = {'Authorization': 'Bearer MYREALLYLONGTOKENIGOT'}
你可以把你的API放在postman中,
click
放在右边栏的代码按钮中,以在不同的脚本中概述restapi。