通过GitHub的API获取代码

GitHub的API功能很强大,也很规范。我对于Git都还没搞清楚,也懒得折腾其他的功能,主要是想实现通过API获取源代码来在线安装插件等功能。看了API的文档,想要取得代码还是比较容易的,就是查询次数限制,没认证的只能60次每小时,有认证的每小时5000次。

基本都是以GET方式从https://api.github.com/取得。
要获得代码库里的readme,使用GET /repos/:owner/:repo/readme
比如TE的肥皂库https://api.github.com/repos/typecho-fans/plugins/readme
通过浏览器输入地址,或是使用curl或者其他方法取得页面内容,注意通过curl等方式要设置User-Agent。
返回值为json编码的stdClass,content属性为源码的base64编码,去掉'n'在用base64方式解码就取得文件源码。

如果要取得代码文件内容,需要获取相应的目录和文件内容:
GET /repos/:owner/:repo/contents/:path
比如要获取肥皂库的根目录下的内容:
https://api.github.com/repos/typecho-fans/plugins/contents/

阅读剩余部分...