gpt4 book ai didi

javascript - 使用 javascript/node js 获取用户的所有公共(public) github 存储库

转载 作者:搜寻专家 更新时间:2023-10-31 23:46:18 24 4
gpt4 key购买 nike

我想从 github 获取给定用户的所有公共(public) github 存储库。我试着用 GET 请求来实现 I read from here .当我用 curl 或在浏览器中尝试时,一切都很好,但是当我运行这段代码时,它会给我 http 403 状态代码

var request = require('request');

request.get("https://api.github.com/users/:user")
.on('response', function (response) {
console.log(response.statusCode);
console.log(JSON.stringify(response));
});

我尝试使用这个 github api library , 但无法绕过身份验证

var GithubApi = require("github");

var github = new GithubApi({});


github.authenticate({
type: "oauth",
token: "GIT_TOKEN"
});

var getUsersRepos = function (user) {
github.repos.getAll({
username: user
}, function (err, res) {
res.forEach(function (element) {
console.log(`${element.name} - language: ${element.language} - issues: ${element.open_issues} - url: ${element.url}`);
}, this);
});
}

module.exports = {
getRepos: getUsersRepos
};

但是当我输入我的 token 时,我只能得到我的用户信息。任何我做错的想法或更好的想法将不胜感激

最佳答案

The Github API requires requests to have a valid User-Agent header :

If you provide an invalid User-Agent header, you will receive a 403 Forbidden response.

Github 要求您将您的 GitHub 用户名或您的应用程序名称用于 User-Agent header 值:

var request = require('request');

options = {
url: "https://api.github.com/users/:user",
headers: {
"User-Agent": "tabula" // Your Github ID or application name
}
}

request.get(options)
.on('response', function (response) {
console.log(response.statusCode);
console.log(JSON.stringify(response));
});

关于javascript - 使用 javascript/node js 获取用户的所有公共(public) github 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40590415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com