Работа с API github (получить количество загрузок)

Запросы к API GitHub на примере получения данных о загрузках репозитория

С API GitHub  можно взаимодействовать посредством GET, POST запросов, даже через браузер.  Предоставленный  API  не требует регистрации приложения. Продемонстрирую некоторые методы работы с API GitHub.

Для начала откроем браузер и перейдем по адресу https://api.github.com. Мы получем ответ в формате json, в котором описаны методы и примеры их вызовов:

Нас интересует количество загрузок определенного репозитория пользователя GitHub, для этого выполним запрос (подставив пользователя и название репозитория):

https://api.github.com/repos/{owner}/{repo}/releases

В полученном ответе нас интересует значение ключа download_count для каждого релиза. Для удобства создана небольшая обработка, в которой необходимо заполнить пользователя и названия репозиторя и мы получим количество загрузок.

11 Comments

  1. webester

    — Ух ты я научился http запросы в 1С. Куда бы это применить? А получу ка я количество загрузок через апи гитхаба

    — А зачем?

    — Пока не знаю, но звучит же здорово? 🙂

    Reply
  2. BlizD

    (1) Роман, а есть сервис который позволяет получить количество загрузок с гитхаба?

    Если есть можно ссылку?

    Reply
  3. webester

    (2)Да конечно, есть. https://api.github.com он вроде известен.

    Reply
  4. BlizD

    (3) Роман,

    имею ввиду сервис в котором надо просто указать «Имя репозитория», а в ответ получить количество скачанных релизов?

    Reply
  5. webester

    (4)Тогда может заодно поискать сервис, где можно просто указав репозиторий получить количество коммитов, звезд, форков, контрибьюторов, и тд. Разумеется на каждый случай должен быть отдельный сервис. Или вы на каждый из 100500 случаев обработку напишете? По моему если тебе нужна такая специфичная информация, запрос к апи для тебя должно быть минутным делом?

    Reply
  6. BlizD

    (5) Роман,

    просто хотел акцентировать внимание, что сейчас, без доступа к API нет возможности получить количество скачанных релизов с GitHub.

    В отличии от количества коммитов, звезд, форков, контрибьютеров — эта информация есть на сайте GitHub и доступна через интерфейс сайта.

    (5)

    По моему если тебе нужна такая специфичная информация, запрос к апи для тебя должно быть минутным делом?

    Мне сложно понять, почему у GitHub не показывается сразу, через интерфейс сайта, сколько скачано релизов.

    Мне кажется это не какая-то специфичная информация.

    Практически на любом сайте где можно выкладывать программы, информация сколько скачано раз, доступна сразу.

    Reply
  7. webester

    (6)

    просто хотел акцентировать внимание, что сейчас, без доступа к API нет возможности получить количество скачанных релизов с GitHub

    Если бы хотели акцентировать на этом внимание, то вы бы от этом хотя бы в публикации написали, что бы не было недопонимания. И да расширение(если вы считаете, что количество загрузок кому нибудь может быть нужным) было бы более уместным и удобным мне кажется.

    (6)

    Мне сложно понять, почему у GitHub не показывается сразу, через интерфейс сайта, сколько скачано релизов.

    Мне кажется это не какая-то специфичная информация.

    Практически на любом сайте где можно выкладывать программы, информация сколько скачано раз, доступна сразу.

    Гитхаб это не файлообменник и не сайт где выкладывают программы. Это социальная сеть для разработчиков, место, где выкладывают и обсуждают код. Скачивание релизов второстепенная функция, просто для удобства. В идеале этого не должно происходить. Вы должны сами собирать бинарные пакеты из кода выложенного на гитхабе. Но если вам удобно скачать готовый релиз, почему бы и нет. Правда нет возможности гарантировать, что он собран из того же кода, который выложен в этом репозитории.

    Reply
  8. BlizD

    (7)

    Если бы хотели акцентировать на этом внимание, то вы бы от этом хотя бы в публикации написали, что бы не было недопонимания.

    Роман,

    это не моя публикация, можно попросить автора, добавить. Подскажите, что именно надо добавить?

    (7)

    Гитхаб это не файлообменник и не сайт где выкладывают программы. Это социальная сеть для разработчиков, место, где выкладывают и обсуждают код. Скачивание релизов второстепенная функция, просто для удобства. В идеале этого не должно происходить. Вы должны сами собирать бинарные пакеты из кода выложенного на гитхабе. Но если вам удобно скачать готовый релиз, почему бы и нет. Правда нет возможности гарантировать, что он собран из того же кода, который выложен в этом репозитории.

    Да, наверно, Вы, правы.

    Github это место для гиков и программистов, но чем плохо то, что туда будут заходить и обычные пользователи, чтобы скачать релиз и не мучиться со сбором кода в бинарный пакет?

    Ну и плюс, как, Вы сами отметили никто не дает гарантии, что собрав код даже с ветки Master он будет рабочим.

    А релиз, вроде как раз и нужен, чтобы пользователи были уверены, что он рабочий.

    И да расширение(если вы считаете, что количество загрузок кому нибудь может быть нужным) было бы более уместным и удобным мне кажется.

    О подскажите как можно сделать такое расширение?

    Reply
  9. webester

    (8)

    Роман, это не моя публикация, можно попросить автора, добавить. Подскажите, что именно надо добавить?

    Упс. Извините. Даже не посмотрел. Не надо ничего добавлять. Тогда для (1) все справедливо. Я подумал, что вы решали какую то проблему этой публикацией. А раз это не ваша публикация…

    (8)

    Но чем плохо то, что туда будут заходить и обычные пользователи, чтобы скачать релиз и не мучиться со сбором кода в бинарный пакет?

    Я не говорю, что это плохо, я под виндой не собрал ни одного пакета. Правда и релиз когда качал именно с гитхаба тоже не помню. Я говорю, что это ненужная в его философии информация. Вот количество форков, о чем то говорит. А количество загрузок не говорит ни о чем, так как огромное количество народу просто собирает самостоятельно из исходников. И сам сайт располагает именно к этому. Вы спросили «Почему?» я выразил свое имхо, не более.

    (8)

    Ну и плюс, как, Вы сами отметили никто не дает гарантии, что собрав код даже с ветки Master он будет рабочим.

    Я не это отметил. Я говорю, что там скомпилировано в бинарнике известно только тому, кто его компилировал. И там может быть не совсем то, что в исходниках. Проблема не в стабильности. Проблема в безопасности. Не то, что бы я параноик. Я скачаю бинарный файл. Это к тому, почему предпочитают собирать из исходников.

    (8)

    О подскажите как можно сделать такое расширение?

    Это не очень сложно https://goo.gl/7gxCDi

    Reply
  10. BlizD

    (9)

    Я подумал, что вы решали какую то проблему этой публикацией. А раз это не ваша публикация…

    Роман,

    ну, я действительно свою проблему решил c помощью этой публикации.

    Мне важно понимать, сколько было раз скачан релиз с репозитория https://github.com/BlizD/Tasks.

    По этому признаку, хотя бы примерно, но можно оценить, насколько было важно добавления того или иного функционала, что вошло в релиз.

    (9)

    Это не очень сложно https://goo.gl/7gxCDi

    Ну я думал, Вы, говорите о расширение самого Github.

    Допустим в Bitbucket можно добавлять функционал с помощью расширений:

    http://shot.qip.ru/00QlvH-4m9euvwv6/

    Reply
  11. webester

    (10)

    Роман,

    ну, я действительно свою проблему решил c помощью этой публикации.

    Ну странновато немного, что вы так решаете эту проблему. Я бы взял https://chrome.google.com/webstore/detail/resteasy/nojelkgnnpdmhpankkiikipkmhgafoc­h один раз написал запрос и пользовался бы когда нужно. Ждать пока кто нибудь напишет обработку, это за гранью добра и зла. Но вам виднее конечно.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *