Я пытаюсь создать приложение для рельсов Challenge Board, которое по сути является поисковой системой для открытых значков.
Мне нужно собрать все открытые значки, которые можно заработать.
Я просматривал код Open Badge на Github и нашел это:
Badge.finders = {
email: function (value, callback) {
var query = "SELECT * FROM `badge` WHERE `user_id` = (SELECT `id` FROM `user` WHERE `email` = ?)";
mysql.client.query(query, [value], callback);
}
};
(находится по адресу https://github.com/mozilla/openbadges/blob/development/models/badge.js)
Итак, могу ли я просто поиграть с этим запросом, чтобы получить то, что я хочу? Возможно, это неправильный подход к делу. Кто-нибудь знает способ получить все доступные открытые значки? Я просмотрел Display API, но похоже, что он предназначен только для отображения общедоступные значки конкретного пользователя.
Я подумал о написании бота, который рассылает спам преобразователю электронной почты в Open-Badge, а затем берет каждое действительное электронное письмо (одно, прикрепленное к реальному пользователю) и сохраняет его идентификационный код. Затем я мог бы перебрать эти идентификаторы в запрос JSON следующим образом: http://beta.openbadges.org/displayer/[id]/groups.json, а затем сохранить хэш всех различных значков. Однако я не хочу делать бота. Кроме того, эта система не будет добавлять значки, которые доступны, но еще никто не заработал.
Кто-нибудь знает хорошее решение для этого?