使用Javascript获取用户列表';Github存储库

使用Javascript获取用户列表';Github存储库,javascript,api,github,repository,Javascript,Api,Github,Repository,首先,谢谢你的阅读 我正在GitHub上主持我当前的项目。使用GitHub页面,我]主持我的个人博客 在博客上,我有一个专门介绍我目前正在从事的所有项目的页面。基本上,我希望通过查询GitHub自动显示所有正在进行的项目的列表 在谷歌搜索的时候,我发现了这一点。 我试过了,但没有达到预期效果。加载页面时,我只收到一条文本消息“正在查询GitHub中的存储库”。似乎什么也没发生 我联系了GitHub的维护人员,他们友好地回答说,这种技术使用的是过时的GitHub API版本 由于我没有JavaSc

首先,谢谢你的阅读

我正在GitHub上主持我当前的项目。使用GitHub页面,我]主持我的个人博客

在博客上,我有一个专门介绍我目前正在从事的所有项目的页面。基本上,我希望通过查询GitHub自动显示所有正在进行的项目的列表

在谷歌搜索的时候,我发现了这一点。 我试过了,但没有达到预期效果。加载页面时,我只收到一条文本消息“正在查询GitHub中的存储库”。似乎什么也没发生

我联系了GitHub的维护人员,他们友好地回答说,这种技术使用的是过时的GitHub API版本

由于我没有JavaScript方面的经验,有人能帮我修复它吗

问候,
罗兰


下面是我在

@谢谢你的帮助,但我真的不明白你的意思。我也试着向Chrome的控制台发送一些命令。我猜
$
是jQuery的别名,不是吗?嗯,发送相同的东西,控制台只输出多个对象,描述我的repo。太棒了
我认为现在的问题是正确地解析它们并显示它们。哎呀,我需要学习JavaScipt语法…

非常明确地说明了如何做到这一点。事实上,因为我的用户名在那里和这里是一样的,让我给你看看

我在github上打开了我的回购页面(到目前为止这是显而易见的),然后用Chrome按下F12

我询问了一下,看看jQuery是否确实安装了,因为我在做示例时喜欢快捷方式

然后我测试了
$.getJSON('//api.github.com/users/jcolebrand/repos',{},函数(数据){console.log(数据)})
,正如它所说的那样,我被授予了我自己看到的五个repo


以下是我没有做的事情:我没有获得API密钥,我没有通过API工作,我使用了我现有的凭证。记住这些,但这就是今后改进的方法。

您发布的脚本不起作用,因为URL是针对旧API的。将URL更改为此,它应该适合您

https://api.github.com/users/YOUR_USERNAME_HERE/repos?callback=CALLBACK

注意:
callback=
是可选的。

您也可以使用github API库。这个库是我最喜欢的

扩展到@JColebrand的答案,使用
JQuery
快捷方式
XMLHttpRequest
$.getJson()
,下面是一个在2020年起作用的API调用

user='tik9'
apirepo=`https://api.github.com/users/${user}`
listrepos=document.createElement('ul')
document.getElementById('github').appendChild(listrepos)
$.getJSON(apirepo+'/repos',函数(数据){
console.log('data now',data)
功能比较(a、b){
如果(a.观察者>b.观察者){
返回-1
}
如果(a.观察者{
listItemRepo=document.createElement('li')
appendChild(listItemRepo)
hlink=document.createElement('a')
listItemRepo.appendChild(hlink)
hlink.textContent=`${v.description}| Stars:${v.watchers}`
hlink.href=v.html\u url
})
})

Github存储库

如果可能,请显示您试图用于查询github的代码。嘿,MJOyce,非常感谢。我工作得很好。我做了一些增强,使其与JSON数据完全兼容。嗯,甚至不需要“?callback=?”部分。不过,再次感谢!8年后,2020年就要过去了,它已经不起作用了。有人能看一下吗?你能用这个来访问私有存储库吗?
// http://aboutcode.net/2010/11/11/list-github-projects-using-javascript.html

jQuery.githubUser = function(username, callback) {
  jQuery.getJSON("http://github.com/api/v1/json/" + username + "?callback=?", callback);
}

jQuery.fn.loadRepositories = function(username) {
  this.html("<span>Querying GitHub for " + username +"'s repositories...</span>");

  var target = this;
  $.githubUser(username, function(data) {
    var repos = data.user.repositories;
    sortByNumberOfWatchers(repos);

    var list = $('<dl/>');
    target.empty().append(list);
    $(repos).each(function() {
      list.append('<dt><a href="'+ this.url +'">' + this.name + '</a></dt>');
      list.append('<dd>' + this.description + '</dd>');
    });
  });

  function sortByNumberOfWatchers(repos) {
    repos.sort(function(a,b) {
      return b.watchers - a.watchers;
    });
  }
};
https://api.github.com/users/YOUR_USERNAME_HERE/repos?callback=CALLBACK