使用个人访问令牌进行 azure devops API 存储库操作
Using a personal access token for azure devops API repository manipulation
我已经从 Azure Devops 用户界面生成了个人访问令牌,但无法使用它向 Devops 发出请求 API。
我尝试了许多不同的 header 字段,但我总是被重定向到登录页面,就好像我没有通过身份验证一样。
token = #Token generated on Devops project page
token_bytes = token.encode('utf-8')
token64 = base64.b64encode(token_bytes)
authorization_string = "basic " + str(token64)
repo_endpoint_url = "https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=5.1".format(organization=organization, project=project)
headers = {"Content-Type" : "application/json", "Authorization" : authorization_string}
response = requests.get(repo_endpoint_url, headers)
登录页面 HTML 的响应始终为 203。如果我在 header.
中没有访问令牌,这就是我希望看到的
我试过了,"Bearer" 而不是 "basic",我试过添加 {username}:{token},以及许多其他小调整。
我做错了什么?
我刚刚剪贴了以下对我有用的代码:
import requests
import base64
repo_endpoint_url = "https://dev.azure.com/<organization>/<project>/_apis/git/repositories?api-version=5.1"
username = "" # This can be an arbitrary value or you can just let it empty
password = "<your-password-here>"
userpass = username + ":" + password
b64 = base64.b64encode(userpass.encode()).decode()
headers = {"Authorization" : "Basic %s" % b64}
response = requests.get(repo_endpoint_url, headers=headers)
print(response.status_code) # Expect 200
经过将近 1 周的调查,TOKEN 的娱乐是唯一对我有帮助的东西!
我遇到了同样的问题。在我看来,如果您创建一个没有 Code
范围的 PAT,并且您想要添加一个 Code
范围,您 必须 重新生成 PAT。
反之亦然:如果您想将 Wiki
范围添加到只有 Code
范围的 PAT(例如,您想要扩展您在 REPOS 部分中创建的 PAT存储库克隆过程)您必须重新生成 PAT。
我已经从 Azure Devops 用户界面生成了个人访问令牌,但无法使用它向 Devops 发出请求 API。
我尝试了许多不同的 header 字段,但我总是被重定向到登录页面,就好像我没有通过身份验证一样。
token = #Token generated on Devops project page
token_bytes = token.encode('utf-8')
token64 = base64.b64encode(token_bytes)
authorization_string = "basic " + str(token64)
repo_endpoint_url = "https://dev.azure.com/{organization}/{project}/_apis/git/repositories?api-version=5.1".format(organization=organization, project=project)
headers = {"Content-Type" : "application/json", "Authorization" : authorization_string}
response = requests.get(repo_endpoint_url, headers)
登录页面 HTML 的响应始终为 203。如果我在 header.
中没有访问令牌,这就是我希望看到的我试过了,"Bearer" 而不是 "basic",我试过添加 {username}:{token},以及许多其他小调整。
我做错了什么?
我刚刚剪贴了以下对我有用的代码:
import requests
import base64
repo_endpoint_url = "https://dev.azure.com/<organization>/<project>/_apis/git/repositories?api-version=5.1"
username = "" # This can be an arbitrary value or you can just let it empty
password = "<your-password-here>"
userpass = username + ":" + password
b64 = base64.b64encode(userpass.encode()).decode()
headers = {"Authorization" : "Basic %s" % b64}
response = requests.get(repo_endpoint_url, headers=headers)
print(response.status_code) # Expect 200
经过将近 1 周的调查,TOKEN 的娱乐是唯一对我有帮助的东西!
我遇到了同样的问题。在我看来,如果您创建一个没有 Code
范围的 PAT,并且您想要添加一个 Code
范围,您 必须 重新生成 PAT。
反之亦然:如果您想将 Wiki
范围添加到只有 Code
范围的 PAT(例如,您想要扩展您在 REPOS 部分中创建的 PAT存储库克隆过程)您必须重新生成 PAT。