【问题标题】:Get Request to Azure DevOps with Personal Access Token (PAT) using Python使用 Python 使用个人访问令牌 (PAT) 获取对 Azure DevOps 的请求
【发布时间】:2023-02-22 05:18:54
【问题描述】:

我正在尝试向 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}

但在这两种情况下仍然有相同的反应。

当然,我没有考虑任何事情。可能缺少什么?

【问题讨论】:

    标签: python azure azure-devops python-requests http-headers


    【解决方案1】:

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

    【讨论】:

    • 嗨马科斯。感谢您的回复。我也试过: personal_access_token_encoded = b64encode(personal_access_token.encode('utf-8')).decode('utf-8') 'Authorization': 'Basic '+(personal_access_token_encoded )} 仍然收到相同的消息
    【解决方案2】:

    您好,错误反馈 203 与您的无效令牌有关。

    那么你请求调用的授权类型是什么?

    对于拍headers = {'Authorization': 'Basic pat'}

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

    您可以将您的 rest api 放在 postman 和 click 右侧栏的代码按钮中,以将 rest api 概览到不同的脚本中。

    【讨论】:

    • 嗨西诺。感谢您的回复。我也尝试过 ('Basic '+ pat) 和 ('Basic '+b64enc(pat)) 但我仍然收到相同的 203 消息
    • @d2907 删除+,并将你的 pat 令牌放在引号中
    【解决方案3】:

    当遇到这个问题时,我的“陷阱”是我没有编码连接到 PAT 字符串开头的“:”。以下是我对 PAT 令牌进行编码的方式:

    encoded_pat = base64.b64encode((":" + pat).encode()).decode()

    【讨论】:

    • 应该使用更好的措辞......“这是我成功编码 PAT 令牌的方式:”......
    猜你喜欢
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2021-11-15
    • 2020-06-17
    • 1970-01-01
    • 1970-01-01
    • 2020-08-31
    • 2021-03-21
    相关资源
    最近更新 更多