Работа с 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 не будет опубликован. Обязательные поля помечены *