Api Github, wyszukiwanie repozytoriów

Api Github, wyszukiwanie repozytoriów
KQ
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:8
0

Cześć! Piszę apkę która ma wyszukiwać repozytoria danego użytkownika z githuba. Tutaj: https://github.com/github widzimy, że użytkownika ma 296 repozytoriów. Czemu korzystając z wyszukiwarki github API https://api.github.com/search/repositories?q=user:github+sort:updated otrzymuję "total_count": 173?

edytowany 1x, ostatnio: KolskiQ
Silv
Zaktualizuj drugi URL, bo część jest wycięta.
ArAs2
  • Rejestracja:ponad 6 lat
  • Ostatnio:prawie 4 lata
  • Postów:48
2

@KolskiQ:
Sprawdź to:
https://api.github.com/users/github

Otrzymujesz JSONA z różnymi danymi zwróć uwagę na: "public_repos": 296.

Pozdrawiam.

edytowany 1x, ostatnio: ArAs2
KQ
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:8
0

@ArAs2:
Dzięki, faktycznie mam odpowiednią liczbę. Niestety potrzebuję też danych takich jak nazwa czy data utworzenia repozytorium więc to mi nie wystarcza.

Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
1
  1. https://github.com/github?utf8=%E2%9C%93&q=&type=&language=html -> 9 repozytoriów z głównym językiem HTML
  2. https://api.github.com/search/repositories?q=user:github+language:html -> 5 repozytoriów z głównym językiem HTML

Mój wniosek (nie wiem, czy poprawny w przypadku całego API GitHuba): różnica bierze się z tego, że przy zapytaniu nr 2 nie są uwzględniane repozytoria "forked", a przy zapytaniu nr 1 są uwzględniane.


edytowany 3x, ostatnio: Silv
KQ
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:8
0

@Silv:
A wiesz może jak napisać zapytanie żeby uwzględnić repozytoria "forked" w JSON?

Silv
Moderator Wiki
  • Rejestracja:ponad 10 lat
  • Ostatnio:prawie 3 lata
  • Lokalizacja:Warszawa
0

Nie wiem, niestety. :( Drugi raz w życiu korzystam z API GitHuba.


Michał Sikora
Michał Sikora
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Kraków
  • Postów:834
2

https://api.github.com/users/github/repos. Tylko na tym endpoincie obowiązuje paginacja. Możesz zwiększyć rozmiar strony maksymalnie do 100.

Silv
@Michał Sikora: a co znajduje https://api.github.com/users/github/repos?type=forks, bo nie mogę dojść z dokumentacji? Zwraca tak samo jak bez parametru type – listę 29 stron...
Michał Sikora
Michał Sikora
Na endpoincie https://api.github.com/users/:user/repos takiego typu jak forks nie ma. Jest na https://api.github.com/orgs/:org/repos.
Silv
Hm... dzięki! Widać w razie błędu w query parameters GitHub po prostu zwraca odpowiedź taką, jaka byłaby bez parametrów.
Silv
PS. Drugi raz odpowiedzi docenić nie mogę, jak też komentarza docenić nie mogę, ale czuj się, jakbym dał Ci jeszcze jeden punkt. ;)
KQ
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:8
0

Jeśli było by to pierwsze 100 posortowane (100 najnowszych z całości 296 listy) to by dało radę.

Michał Sikora
Michał Sikora
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Kraków
  • Postów:834
1

GitHub ma całkiem dobrą dokumentację. https://developer.github.com/v3/repos/#parameters-1

edytowany 1x, ostatnio: Michał Sikora
KQ
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:8
0
Michał Sikora
Michał Sikora
  • Rejestracja:ponad 7 lat
  • Ostatnio:prawie 4 lata
  • Lokalizacja:Kraków
  • Postów:834
1

Nie. Parametr to sort a wartość updated, czyli https://api.github.com/users/github/repos?sort=updated. I to będzie 30 wyników.

edytowany 1x, ostatnio: Michał Sikora
KQ
  • Rejestracja:około 6 lat
  • Ostatnio:ponad 4 lata
  • Postów:8
0

Dzięki. Czy na pewno działa? Pierwszy obiekt JSON ma "full_name": "github/gitignore", a na stronie https://github.com/github to repozytorium jest sprzed 12h i są nowsze updatowane. Jeśli spojrzeć w JSON to parametr "updated_at" faktycznie jest ustawiony dobrze tj. najnowsze są najwyżej.

edytowany 1x, ostatnio: KolskiQ
Silv
Ciekawa rozbieżność.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.