Як дізнатися хто загавкав Perl дистрибутив на metacpan
На metacpan можна лайкати дистрбутіви. Ось, наприклад, у мого дистрибутива Test::Whitespaces є 2 лайки:
Мені стало цікаво дізнатися, хто поставив ці лайки. На сайті metacpan такої інформації немає (update: після написання посту ця інформація з'явилася, подробиці в кінці посту), але є API через яке, напевно, можна це зробити.
Перший підхід до рішення
Відразу завдання вирішити не вдалося. У API є документація, є якісь модулі, є чудовий сайт explorer.metacpan.org, але як усе це використовувати зовсім не зрозуміло.
Доповідь виявилася дуже цікавою (і після неї мені вдалося вирішити моє завдання), я записав тези з цієї доповіді.
Конспект доповіді
Доповідь Олафа Алдерса (Ab)за допомогою MetaCPAN API for Fun and Profit.
metacpan api використовує elasticsearch

PS У доповіді згадувався модуль MetaCPAN::API, але він вже depreated і рекомендується використовувати замість нього MetaCPAN::Client.
Другий підхід до рішення
Ось висновок скрипту:
Скрипт спочатку запитує Metacpan API "а покажи мені id всіх користувачів хто залайкл дистрибутив" за допомогою відправки запиту на ручку "/v0/favorite". Отримуємо відповідь. У відповіді купа шуму, що дає еластичнийдослідження, але є дані про ID користувачів: "user": "faLMeoWDRjSethSZIGNB_A" і "user": "6wlW4wIgQW6QK_-YU0uxFw".
А далі скрипт для кожного отриманого id користувача з'ясовує, що це за користувач. Запит на ручку "/v0/author" та відповідь.
Чомусь не у всіх id користувачів відповідає запис в type author, якщо скрипт не знаходить даних, то видає ". ".
Update 2014-05-14
Це дуже смішно, але через кілька днів після написання цієї посади на сайті metacpan.org з'явилася можливість переглядати хто загавкав твій дистрибутив.
Ось інформація про лайки мого модуля Test::Whitespaces: