使用api列出github上的所有Java存储库

时间:2012-10-14 12:08:04

标签: curl github github-api

我正在尝试获取特定语言(例如Java)的所有github存储库的列表,而不会缩小任何特定关键字的搜索范围。最好,我想直接从curl,没有脚本执行此操作。问题是我尝试格式化API网址并且无法找到合适的网址,包括language=Java参数但没有关键字。

例如,以下URL似乎在其描述中使用关键字“language”或“java”查询repos,包括一些Scala和Haskell存储库:

 curl -X GET https://api.github.com/legacy/repos/search/language=java

另一方面,使用?表示法返回空结果:

 curl -X GET https://api.github.com/legacy/repos/search?language=java
 curl -X GET https://api.github.com/legacy/repos/search/?language=java

大写或小写J似乎也无关紧要。

那么如何在不指定关键字的情况下使用语言参数?

评论:似乎有用的技巧是使用单字母关键字,从A到Z重复。是否有一种不那么尴尬的方式?

3 个答案:

答案 0 :(得分:5)

答案 1 :(得分:3)

你接近答案了。为了获得特定语言的结果,您必须使用冒号,如下所示:

language:{your_language_here}

因此,对于Java来说,它将是:

curl -X GET https://api.github.com/legacy/repos/search/language:java

答案 2 :(得分:0)

您可以使用github网站上的主搜索表单执行此操作。但请确保在查询中使用“language:NAME”语法,而不是使用语言下拉列表。

例如: https://github.com/search?q=language%3AJava&type=Repositories

不像API中的JSON那样容易解析,但应该完成这项工作。