python - 使用 Token 获得 VSTS API 的授权,但 status.code = 203
问题描述
我正在尝试使用 VSTS 5.0 的 API,但是当我尝试将 Token 与 python 一起使用时得到 203。
headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36',
'X-Requested-With':'XMLHttpRequest',
'Authorization': b'Basic '+ base64.b64encode(personal_access_token.encode('utf-8')),
'content-type': 'application/json',}
def get_page_list():
url = 'https://{account}.visualstudio.com/DefaultCollection/_apis/projects'
try:
response = requests.get(url, headers=headers, verify = False)
print (response.status_code)
if response.status_code == 200:
return response.json()
except requests.ConnectionError as e:
print('Error*****', e.args)
if __name__ == '__main__':
json = get_page_list()
print(json)
这将回到这个:203 None
我真的不明白出了什么问题。
解决方案
确保您的 PAT 有效,并且您使用的 api 版本应该是4.0
. 在这种情况下,您还可以尝试代码片段:Authenticating to VisualStudioOnline REST API with Personal Access Token using Python 3.6:
import json
import base64
import urllib.request
personal_access_token = ":xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
headers = {}
headers['Content-type'] = "application/json"
headers['Authorization'] = b'Basic ' +
base64.b64encode(personal_access_token.encode('utf-8'))
instance = "mycompany.visualstudio.com"
project = "MyProject"
repository ="MyRepository"
pullrequest = "3468"
api_version = "3.0"
repositories_url = ("https://%s/DefaultCollection/%s/_apis/projects?
api-version=%s" % (instance, project, api_version))
print(repositories_url)
request = urllib.request.Request(repositories_url, headers=headers)
opener = urllib.request.build_opener()
response = opener.open(request)
print(response.read())
推荐阅读
- php - 在 MAMP 中添加 sqlsrv 和 pdo_sqlsrv 时出现问题
- node.js - 用于返回特定日期范围的按日计数的 MongoDB 聚合函数
- html - 如何在 ABAP 中编写 HTML 代码来发送邮件
- scala - Akka,通用 ActorRef?
- php - 每下一个数字递增数字php
- selenium-webdriver - 测试注释代码不工作,只是 BeforeMethod 工作
- titanium - LiveView 与事件服务器断开连接
- javascript - 如何扩展缩短的 p 标签文本取决于下一个 p 标签?
- java - addValueEventListener 不能与过滤器一起使用或单独使用
- matlab - 如何创建调用句柄对象的uicontrol对象的回调函数