如何检索一个人的所有github仓库列表?
问题描述:
我们正在开发一个项目,我们需要在GitHub账户上显示一个人在他的仓库中的所有项目。如何检索一个人的所有github仓库列表?
任何人都可以建议,我怎么能显示一个特定的人使用他的git用户名的所有git仓库的名称?
答
使用Github API:
/users/:user/repos
这会给你的所有用户的公共库。如果您需要查找私有存储库,则需要以特定用户身份进行身份验证。然后,您可以使用REST调用:
/user/repos
找到所有用户的回购协议。
在Python做这个做这样的事情:
USER='AUSER'
API_TOKEN='ATOKEN'
GIT_API_URL='https://api.github.com'
def get_api(url):
try:
request = urllib2.Request(GIT_API_URL + url)
base64string = base64.encodestring('%s/token:%s' % (USER, API_TOKEN)).replace('\n', '')
request.add_header("Authorization", "Basic %s" % base64string)
result = urllib2.urlopen(request)
result.close()
except:
print 'Failed to get api request from %s' % url
凡在传递给函数的URL是REST URL作为在上面的例子。如果您不需要进行身份验证,那么只需修改该方法以删除添加授权标头。然后,您可以使用简单的GET请求获取任何公共API。
答
请尝试以下curl
命令列出的库:
USER=foo; curl "https://api.github.com/users/$USER/repos?per_page=100" | grep -o '[email protected][^"]*'
如果是私人的,你需要增加你的API密钥(access_token=GITHUB_API_TOKEN
)。以this script为例。
答
你可能需要一个JSONP解决方案:
https://api.github.com/users/[user name]/repos?callback=abc
如果你使用jQuery:
$.ajax({
url: "https://api.github.com/users/blackmiaool/repos",
jsonp: true,
method: "GET",
dataType: "json",
success: function(res) {
console.log(res)
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
中号ay想要使用更新的v3 API – BeRecursive 2012-01-03 14:25:36