API Github: как получить все репозитории, написанные на определенном языке - программирование
Подтвердить что ты не робот

API Github: как получить все репозитории, написанные на определенном языке

Мне удалось получить все репозитории github, помеченные данным языком в формате JSON, с v2 github API, но эта версия устарел в прошлом году. Я не могу найти способ сделать это с помощью нового v3.

Любые идеи?

4b9b3361

Ответ 1

Если я запустил:

> curl https://api.github.com/legacy/repos/search/Go?language=Go

{
  "repositories": [
    {
      "type": "repo",
      "username": "mattn",
      "name": "go-gtk",
      "owner": "mattn",
      "homepage": "http://mattn.github.com/go-gtk",
      "description": "Go binding for GTK",
      "language": "Go",
      "watchers": 342,
      "followers": 342,
      "forks": 67,
      "size": 416,
      "open_issues": 34,
      "score": 54.450714,
      "has_downloads": true,
      "has_issues": true,
      "has_wiki": true,
      "fork": false,
      "private": false,
      "url": "https://github.com/mattn/go-gtk",
      "created": "2009-11-26T16:58:53Z",
      "created_at": "2009-11-26T16:58:53Z",
      "pushed_at": "2013-09-02T04:29:39Z",
      "pushed": "2013-09-02T04:29:39Z"
    }
  ]
}
<TRIMMED>

Что, по-видимому, является характером ответа, который вы ищете.

Кроме того, в последней версии API вы можете попробовать:

curl -H 'Accept: application/vnd.github.preview.text-match+json' https://api.github.com/search/repositories?q=language:go&order=desc

Без типа носителя вы получите:

{
  "message": "Not Found"
}

Но с типом носителя -H в запросе вы получите правильный ответ.

В Windows:

c:\prgs\git\PortableGit-1.8.3-preview20130601\bin\curl.exe -H "Accept: application/vnd.github.preview.text-match+json" https://api.github.com/search/repositories?q=language:go&order=desc

(обратите внимание на " вместо ' вокруг заголовка Accept)