我正在尝试获取所有里程碑的列表,无论它们是打开的还是关闭的。我使用一个简单的while循环:
milestoneNumbers = {}
for state in ['open', 'closed']:
print("***" + state)
stateJSON = {'state' : state}
print(json.dumps(stateJSON))
response = requests.get(
'https://api.github.com/repos/' + username + '/' + repo + '/milestones',
data=json.dumps(stateJSON),
auth=(username, password))
milestones = response.json()
for milestone in milestones:
print(milestone['title'] + " " + str(milestone['number']))
milestoneNumbers[milestone['title']] = milestone['number']
print(milestoneNumbers)
问题是它会返回两次打开的里程碑。我做错什么了?你知道吗
输出:
open
{"state": "open"}
wiki pages 6
android 7
swing 0.5.4 16
lite 0.5.7 18
project 19
swing 20
premium 10
lite 0.5.6 15
closed
{"state": "closed"}
wiki pages 6
android 7
swing 0.5.4 16
lite 0.5.7 18
project 19
swing 20
premium 10
lite 0.5.6 15
{u'project': 19, u'premium': 10, u'wiki pages': 6, u'lite 0.5.7': 18, u'lite 0.5.6': 15, u'swing 0.5.4': 16, u'swing': 20, u'android': 7}
您正在访问
GET
请求;不发送JSON,但发送URL参数:它将状态作为GET参数发送。无论如何,在使用
GET
时,data
关键字参数将被完全忽略,因此该参数从未到达GitHub服务器,并且在没有特定值的情况下默认为'state': 'open'
。你知道吗相关问题 更多 >
编程相关推荐