gpt4 book ai didi

python - 获取 Github 个人文件贡献者

转载 作者:太空狗 更新时间:2023-10-29 18:25:50 25 4
gpt4 key购买 nike

我正计划为 Sphinx 文档系统插件构建一个插件,该插件显示为文档页面做出贡献的人员的姓名和 Github 个人资料链接。

Github 内部有这个功能

Contributors

  • 是否可以通过 Github API 获取文件贡献者的 Github 个人资料链接?请注意提交者的电子邮件是不够的,必须能够将它们映射到 Github 用户配置文件链接。另请注意,我不需要所有存储库贡献者 - 只需要单个文件贡献者。

  • 如果这不可能,那么您可以建议使用哪种替代方法(私有(private) API、抓取)从 Github 中提取此信息?

最佳答案

首先,您可以show the commits for a given file :

https://api.github.com/repos/:owner/:repo/commits?path=PATH_TO_FILE

例如:

https://api.github.com/repos/git/git/commits?path=README

其次,在作者部分,JSON 响应确实包含一个名为“html_url”的 url 文件到 GitHub 配置文件:

"author": {
"login": "gitster",
"id": 54884,
"avatar_url": "https://0.gravatar.com/avatar/750680c9dcc7d0be3ca83464a0da49d8?d=https%3A%2F%2Fidenticons.github.com%2Ff8e73a1fe6b3a5565851969c2cb234a7.png",
"gravatar_id": "750680c9dcc7d0be3ca83464a0da49d8",
"url": "https://api.github.com/users/gitster",
"html_url": "https://github.com/gitster", <==========
"followers_url": "https://api.github.com/users/gitster/followers",
"following_url": "https://api.github.com/users/gitster/following{/other_user}",
"gists_url": "https://api.github.com/users/gitster/gists{/gist_id}",
"starred_url": "https://api.github.com/users/gitster/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/gitster/subscriptions",
"organizations_url": "https://api.github.com/users/gitster/orgs",
"repos_url": "https://api.github.com/users/gitster/repos",
"events_url": "https://api.github.com/users/gitster/events{/privacy}",
"received_events_url": "https://api.github.com/users/gitster/received_events",
"type": "User"
},

所以你不需要在这里抓取任何网页。


这是一个very crude jsfiddle为了说明这一点,基于 javascript 提取:

var url = "https://api.github.com/repos/git/git/commits?path=" + filename
$.getJSON(url, function(data) {
var twitterList = $("<ul />");
$.each(data, function(index, item) {
if(item.author) {
$("<li />", {
"text": item.author.html_url
}).appendTo(twitterList);
}
});

get Contributors from a GiHub file

关于python - 获取 Github 个人文件贡献者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13430769/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com