Github API 列出所有存储库和存储库的内容
2022-08-30 14:16:41
如果我要在外部网站上只显示我的github存储库及其内容,我该怎么做?有没有你可以为我提供的源代码,如果没有给我指出正确的方向?我是编程的初学者,所以任何帮助都是值得赞赏的。谢谢大家。浏览他们的网站
我浏览了相关链接 - 但仍然不知道如何实现这一目标。
如果我要在外部网站上只显示我的github存储库及其内容,我该怎么做?有没有你可以为我提供的源代码,如果没有给我指出正确的方向?我是编程的初学者,所以任何帮助都是值得赞赏的。谢谢大家。浏览他们的网站
我浏览了相关链接 - 但仍然不知道如何实现这一目标。
所有以前的答案都很棒。但是,如果您正在寻找一个快速而肮脏的示例,说明如何获取公开可用的存储库列表,请查看我的jsfiddle。
它使用此 ajax 调用来列出所有用户公共存储库:
$("#btn_get_repos").click(function() {
$.ajax({
type: "GET",
url: "https://api.github.com/users/google/repos",
dataType: "json",
success: function(result) {
for(var i in result ) {
$("#repo_list").append(
"<li><a href='" + result[i].html_url + "' target='_blank'>" +
result[i].name + "</a></li>"
);
console.log("i: " + i);
}
console.log(result);
$("#repo_count").append("Total Repos: " + result.length);
}
});
});
要查看返回的数据类型,只需在单击按钮后检查控制台,或者您可以安装Google Chromes JSONView扩展程序,然后只需访问ajax请求正在创建的网址,即 https://api.github.com/users/google/repos
这是一个很好的方式只是与卷发。您应该更改$user和$token变量,以使此脚本适用于您的情况。该代码使用有效令牌进行测试,因此我希望它对您有用。正如您在代码注释中看到的那样,令牌可以从您的github帐户生成,https://github.com/settings/applications
<?php
// for example your user
$user = 'flesheater';
// A token that you could generate from your own github
// go here https://github.com/settings/applications and create a token
// then replace the next string
$token = 'ced38b0e522a5c5e8ab10';
// We generate the url for curl
$curl_url = 'https://api.github.com/users/' . $user . '/repos';
// We generate the header part for the token
$curl_token_auth = 'Authorization: token ' . $token;
// We make the actuall curl initialization
$ch = curl_init($curl_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// We set the right headers: any user agent type, and then the custom token header part that we generated
curl_setopt($ch, CURLOPT_HTTPHEADER, array('User-Agent: Awesome-Octocat-App', $curl_token_auth));
// We execute the curl
$output = curl_exec($ch);
// And we make sure we close the curl
curl_close($ch);
// Then we decode the output and we could do whatever we want with it
$output = json_decode($output);
if (!empty($output)) {
// now you could just foreach the repos and show them
foreach ($output as $repo) {
print '<a href="' . $repo->html_url . '">' . $repo->name . '</a><br />';
}
}
?>
另外,由于我们喜欢github,我们应该在最后缓存结果,并每天获取一次左右。