使用Python通过个人访问令牌(PAT)获取对Azure DevOps的请求

6ss1mwsb  于 2023-01-14  发布在  Python
关注(0)|答案(2)|浏览(153)

我正在尝试向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。
我当然没有考虑什么。会少什么?

sgtfey8w

sgtfey8w1#

对于Azure DevOps API,您需要使用Basic Auth而不是Baerear,仅提供以base64编码的PAT令牌

kcugc4gi

kcugc4gi2#

您好,错误反馈203是关于您的无效令牌的。
那么请求调用的授权类型是什么呢?
对于患者headers = {'Authorization': 'Basic pat'}

对于不记名令牌headers = {'Authorization': 'Bearer MYREALLYLONGTOKENIGOT'}

你可以把你的API放在postman中,click放在右边栏的代码按钮中,以在不同的脚本中概述restapi。

相关问题