我是GitHub API的新手。 我正在编写一个Python程序(使用 requests ),该程序应列出给定存储库中pull请求的所有已更改/添加的文件。
使用API,我可以列出所有拉取请求并获取其编号。但是,当我尝试获取有关文件的信息时,响应未包含请求请求中的所有文件。
pf = session.get(f'https://api.github.com/repos/{r}/pulls/{pull_num}/files')
pj = pf.json()
pprint.pprint(pf.json())
for i in range(len(pj)):
print(fj[i]['filename']))
(我知道可能有一种更漂亮的方法,Python并不是我真正的咖啡,但是当我将pf.text
与该代码段的输出进行比较时,结果是相同的。)< / em>
我知道文档中提到的文件限制为 300个,但是即使文件总数少于300个,也会出现问题。
我用一个请求请求创建了一个测试仓库,该请求添加了名为 file1,file 2,...,file222 的文件,并且在发送GET请求后,响应仅包含以下文件名:< / p>
file1,file10,file100,file101,file102,file103,file104,file105,file106,file107,file108,file109,file11,file110,file111,file112,file113,file114,file115,file116,file117,file118,file119,file12 ,file120,file121,file122,file123,file124,file125
还有其他我不知道的限制吗?还是为什么响应只包含那些文件名?我如何得到所有这些?
答案 0 :(得分:0)
发布问题后不久,我找到了解决方案。 API在响应的标题中发送一些条目(文件名)和指向另一个页面的链接。问题中的文件是按字母顺序排列的前几个文件,即第一页。