Доступ к именам всех файлов в репозитории github с помощью Meteor
Как следует из названия, я пишу веб-приложение в Meteor и пытаюсь получить доступ к именам всех файлов в репозитории github. У меня есть настроенный узел GitHub api wrapper (фактический api, который он обертывает, находится в https://github.com/mikedeboer/node-github ), и я смог успешно выполнить некоторые другие вызовы api github (а именно github.РЕПО.способность и gethub.пользователь.getFollowingFromUser). По какой-то причине, однако, когда я пытаюсь использовать github.РЕПО.getContent я получаю ошибку 404 независимо от того, что я передаю в качестве имени пользователя или РЕПО.
Итак, это работает:
github.user.getFollowingFromUser(
{
user: "ndhoule"
},
function(err, res) {
console.log(JSON.stringify(res));
});
Но это не так:
github.repos.getContent(
{
user: "ndhoule",
repo: "meteor-github-api"
},
function(err, res){console.log(JSON.stringify(res))
});
Вот ошибка, которую он производит:
I20141029-13:46:01.875(-5)? [error] { [Error: {"message":"Not
Found","documentation_url":"https://developer.github.com/v3"}]
I20141029-13:46:01.876(-5)? [error] message: '{"message":"Not
Found","documentation_url":"https://developer.github.com/v3"}',
I20141029-13:46:01.877(-5)? [error] code: 404 } null ndhoule
I20141029-13:46:01.877(-5)? undefined
Это происходит независимо от того, какое имя пользователя я подключаю, поэтому я предполагаю, что я как-то неправильно использую метод getContent. Если кто-нибудь может выяснить, в чем моя ошибка (или, возможно, предложить другой способ получения имен файлов из РЕПО в Meteor), я буду очень признателен за помощь.
Править: Я попытался указать путь (хотя это необязательный параметр), и я получил немного другой результат.
Пересмотренный код:
github.repos.getContent(
{
user: "ndhoule",
repo: "meteor-github-api"
path: "./"
},
function(err, res){console.log(JSON.stringify(res))
});
И теперь у меня есть только этот вывод в консоли:
{"meta":{"x-ratelimit-limit":"60","x-ratelimit-remaining":"59"}}
1 ответ:
Я попробовал ваш код и получаю содержимое файлов для РЕПО
Из этого выпуска https://github.com/mikedeboer/node-github/issues/137 я установил путь к emprty
Мой код
client.js Meteor.call("repocontent",uname,repoName,function(e,r){ console.log(r); });
Сервер.js в методе сервера
'repocontent':function(uname,repoName){ var reposcontent=Async.runSync(function(done){ github.repos.getContent({user:uname,repo:repoName,path: ""},function(err,data){ done(null,data) ; }); }); return reposcontent; },