如何使用GitHub API从GitHub的URL获取主要语言或语言列表?

17

我有一个指向Github代码库的URL,例如:https://github.com/dotnet/corefx

Github API是否有可能获取代码库的主要语言为"C#"?

2个回答

23
您可以使用Github API的List languages,它会提供此存储库中使用的所有语言以及用该语言编写的代码字节数:
GET https://api.github.com/repos/dotnet/corefx/languages

这将给你:

{
  "C#": 131055040,
  "C": 1078381,
  "Visual Basic": 829607,
  "C++": 622926,
  "XSLT": 462336,
  "OpenEdge ABL": 139178,
  "Shell": 70286,
  "CMake": 60136,
  "PowerShell": 51624,
  "DIGITAL Command Language": 26402,
  "Groovy": 25726,
  "Batchfile": 21796,
  "Objective-C": 9455,
  "Makefile": 9085,
  "Roff": 4236,
  "Perl": 3895,
  "ASP": 1687,
  "Python": 1535,
  "1C Enterprise": 903,
  "HTML": 653
}

使用 bash,您可以使用jq来解析和选择最大字节值字段:

language=`curl -s https://api.github.com/repos/dotnet/corefx/languages | jq 'to_entries | max_by(.value) | .key'`
echo "$language"

2

2023 更新

您可以在这里找到语言列表的文档。

GET https://api.github.com/repos/microsoft/vscode/languages

如果您在正常的存储库请求下使用language属性,您还可以找到存储库中最常用的语言。

GET https://api.github.com/repos/microsoft/vscode

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接