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

05.02.17

Разработка - Инструментарий разработчика

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

Скачать файлы

Наименование Файл Версия Размер
TestAPIGitHub
.epf 6,36Kb
8
.epf 6,36Kb 8 Скачать

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

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

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

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

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

github api

См. также

SALE! 20%

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Инструментарий разработчика Роли и права Запросы СКД Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

13000 10400 руб.

02.09.2020    122182    673    389    

714

SALE! 25%

Infostart PrintWizard

Пакетная печать Печатные формы Инструментарий разработчика Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

18000 15300 руб.

06.10.2023    7302    22    6    

39

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8000 руб.

10.11.2023    3547    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177762    1074    0    

849

Многопоточность. Универсальный «Менеджер потоков» 2.1

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    99350    239    97    

296

[ЕХТ] Фреймворк для Расширений 1С

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Платные (руб)

"Фреймворк для Расширений 1С" это универсальное и многофункциональное решение, упрощающее разработку и поддержку создаваемых Расширений. Поставляется в виде комплекта из нескольких Расширений с открытым исходным кодом. Работает в любых Конфигурациях в режиме Управляемого приложения с режимом совместимости 8.3.12 и выше без необходимости внесения изменений в Конфигурацию.

3000 руб.

27.08.2019    18120    6    8    

40

1С HTML Шаблоны / HTML Templates

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Быстрая и удобная обработка для работы с шаблонами HTML. Позволяет легко и быстро формировать код HTML.

2040 руб.

27.12.2017    28111    3    10    

15

Выполнение произвольного кода или запроса с параметрами через Web-сервис (замена COM-подключений)

Инструментарий разработчика Обмен между базами 1C Платформа 1С v8.3 Платные (руб)

В процессе работы в 1С часто возникает потребность получить данные из другой базы.  Обычно это делается через COM-соединение, и время выполнения запроса при этом оставляет желать лучшего. В данной публикации представлено универсальное решение, позволяющее практически моментально выполнить произвольный код или запрос с параметрами в другой информационной базе через Web-сервис.

2400 руб.

24.09.2019    23605    15    15    

32
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. webester 26 06.02.17 10:06 Сейчас в теме
- Ух ты я научился http запросы в 1С. Куда бы это применить? А получу ка я количество загрузок через апи гитхаба
- А зачем?
- Пока не знаю, но звучит же здорово? :)
mrmasson; +1 Ответить
2. BlizD 1024 07.02.17 21:44 Сейчас в теме
(1) Роман, а есть сервис который позволяет получить количество загрузок с гитхаба?
Если есть можно ссылку?
3. webester 26 09.02.17 09:06 Сейчас в теме
(2)Да конечно, есть. https://api.github.com он вроде известен.
4. BlizD 1024 09.02.17 10:01 Сейчас в теме
(3) Роман,

имею ввиду сервис в котором надо просто указать "Имя репозитория", а в ответ получить количество скачанных релизов?
5. webester 26 09.02.17 11:13 Сейчас в теме
(4)Тогда может заодно поискать сервис, где можно просто указав репозиторий получить количество коммитов, звезд, форков, контрибьюторов, и тд. Разумеется на каждый случай должен быть отдельный сервис. Или вы на каждый из 100500 случаев обработку напишете? По моему если тебе нужна такая специфичная информация, запрос к апи для тебя должно быть минутным делом?
6. BlizD 1024 09.02.17 11:19 Сейчас в теме
(5) Роман,

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

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


Мне сложно понять, почему у GitHub не показывается сразу, через интерфейс сайта, сколько скачано релизов.
Мне кажется это не какая-то специфичная информация.
Практически на любом сайте где можно выкладывать программы, информация сколько скачано раз, доступна сразу.
tormozit; +1 Ответить
7. webester 26 09.02.17 16:33 Сейчас в теме
(6)
просто хотел акцентировать внимание, что сейчас, без доступа к API нет возможности получить количество скачанных релизов с GitHub
Если бы хотели акцентировать на этом внимание, то вы бы от этом хотя бы в публикации написали, что бы не было недопонимания. И да расширение(если вы считаете, что количество загрузок кому нибудь может быть нужным) было бы более уместным и удобным мне кажется.


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

Гитхаб это не файлообменник и не сайт где выкладывают программы. Это социальная сеть для разработчиков, место, где выкладывают и обсуждают код. Скачивание релизов второстепенная функция, просто для удобства. В идеале этого не должно происходить. Вы должны сами собирать бинарные пакеты из кода выложенного на гитхабе. Но если вам удобно скачать готовый релиз, почему бы и нет. Правда нет возможности гарантировать, что он собран из того же кода, который выложен в этом репозитории.
8. BlizD 1024 09.02.17 17:22 Сейчас в теме
(7)
Если бы хотели акцентировать на этом внимание, то вы бы от этом хотя бы в публикации написали, что бы не было недопонимания.

Роман,

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

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


Да, наверно, Вы, правы.
Github это место для гиков и программистов, но чем плохо то, что туда будут заходить и обычные пользователи, чтобы скачать релиз и не мучиться со сбором кода в бинарный пакет?
Ну и плюс, как, Вы сами отметили никто не дает гарантии, что собрав код даже с ветки Master он будет рабочим.
А релиз, вроде как раз и нужен, чтобы пользователи были уверены, что он рабочий.

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

О подскажите как можно сделать такое расширение?
9. webester 26 09.02.17 17:41 Сейчас в теме
(8)
Роман, это не моя публикация, можно попросить автора, добавить. Подскажите, что именно надо добавить?

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


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

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


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

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


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

Это не очень сложно https://goo.gl/7gxCDi
10. BlizD 1024 09.02.17 17:57 Сейчас в теме
(9)
Я подумал, что вы решали какую то проблему этой публикацией. А раз это не ваша публикация...


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

Мне важно понимать, сколько было раз скачан релиз с репозитория https://github.com/BlizD/Tasks.
По этому признаку, хотя бы примерно, но можно оценить, насколько было важно добавления того или иного функционала, что вошло в релиз.


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


Ну я думал, Вы, говорите о расширение самого Github.
Допустим в Bitbucket можно добавлять функционал с помощью расширений:
http://shot.qip.ru/00QlvH-4m9euvwv6/


11. webester 26 10.02.17 06:30 Сейчас в теме
(10)
Роман,
ну, я действительно свою проблему решил c помощью этой публикации.

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