怎样通过GitHub REST API v3获得某个项目的所有issue

这个事情其实比想象的要简单很多。我们以Bitcoin这个GitHub上的明星项目为例来说明。

其实在这里:https://github.com/bitcoin/bitcoin/issues 可以看到Bitcoin的所有issue,但是这个页面并不适合写代码分析,这时候就要用到GitHub的API了:https://developer.github.com/v3/

从其Guides来看,最简单的学习GitHub REST API的方式是通过Curl,我尝试了一些,的确很简单。

按照Guides中给出的例子,如果要获得Bitcoin的所有issue,只需要通过Curl发送对应的HTTP Request即可:

curl -i https://api.github.com/repos/bitcoin/bitcoin/issues

然后就可以得到返回结果了(前提是安装了Curl,Curl的安装又依赖于JDK,如果大家对Ubuntu上的JDK不熟悉,可以参考这里的页面:http://www.cnblogs.com/a2211009/p/4265225.html)

唯一需要注意的是,上面的请求是匿名的,可以想象,GitHub一定会限制访问的频率,可以访问这里看到调用API的频率限制:https://api.github.com/rate_limit,其中的60,10等数字是以分钟为单位的。要提高这种频率限制,按照Guides中的介绍,就要使用一定的身份认证机制,GitHub的用户都可以在这个链接中https://github.com/settings/tokens,生成一个Token,再次请求:

curl -i -H 'Authorization: token %得到的40位Token%' https://api.github.com/repos/bitcoin/bitcoin/issues
就可以突破每分钟60次的限制了,具体是多少大家看看Guides即知。

你可能感兴趣的:(怎样通过GitHub REST API v3获得某个项目的所有issue)