Articles of github api

如何知道使用Github API时的MIMEtypes

我使用JS库( https://github.com/mikedeboer/node-github )来调用GitHub API: https : //developer.github.com/v3/repos/contents/从回购获取内容。 当返回types是'文件'时,我想知道它是MIMEtypes。 如果我将返回内容写入硬盘驱动器的文件中,有很多方法可以告诉mimetypes。 我的问题是如何知道mimetypes,而不必将其写入硬盘驱动器上的文件。

Github的Web API授权问题 – 返回“未find”

由于我没有发现任何人有同样的问题,我希望这是一件简单的事情。 我相当新鲜。 这是一个Node / Express应用程序,我正尝试连接到Githubs Web API并检索某个特定回购的问题。 我已经生成了一个个人令牌,并将其与基本授权一起使用。 当我尝试连接时,我得到:“ 未find ”。 Github的状态,authentication是必要的,他们返回404/403,我得到404,所以它必须与身份validation。 回购有问题。 令牌不应该有问题,我select“回购”作为访问范围。 其实我不知道我在做什么HTTP请求,但我已经尝试了请求和http。 所以除了别的以外,我想知道是否是授权标题是错误的。 我粘贴我现在使用请求的代码,并返回正文。 任何帮助是极大的赞赏。 const githubToken = process.env.TOKEN; let options = { url: "https://api.github.com/repos/myOrg/myRepo/issues/", headers: { "Authorization": "Basic " + githubToken, "User-Agent": "Mozilla/5.0", "Content-Type": "application/json" } }; let requestCB = function(error, response, body) { if (error) { console.log(error); } else if […]

如何通过API发布主旨(不是匿名的)

我正在使用passport-github策略。 passport.use(new Strategy({ clientID: "…", clientSecret: "…", callbackURL: 'http://localhost:3000/login/github/return', scope: 'gist' }, function(accessToken, refreshToken, profile, cb) { return cb(null, profile); })); 然后我发出POST请求 app.get('/profile/post', require('connect-ensure-login').ensureLoggedIn(), function(req, res){ var url = 'https://api.github.com/gists'; axios.post(url, { method: "POST", "description": "POSTING FROM EXPRESS", "public": true, "files": { "file1.txt": { "content": "EXPRESS " } } }) .then(function (response) {…}) .catch(function (error) […]

创build从CL与节点,JSONparsing错误的回购时Github API错误

创build一个节点CLI从CL创build回购站,发布到github api的问题。 我正在使用请求模块发布到github API。 request.post({ url: 'https://api.github.com/user/repos', headers:{ 'User-Agent': 'git CL – node', 'Content-type': 'application/json' }, auth:{ username: '-username-', password: '-password-' }, form:{ name: "a-new-repo" } }, function(err, res, body){ console.log(body); }); 我得到的错误是{"message":"Problems parsing JSON","documentation_url":"http://developer.github.com/v3"} 我已经尝试了很多东西,比如 设置多部分数据 而不是表单数据 设置内容types 作为JSON发送 我知道的事情是正确的 身份validation—我能够得到正确的答复,如果我做一个GET请求,它只是POST POSTpath和标题 链接请求模块 链接为github-api

使用Meteor访问github仓库中所有文件的名称

正如标题所说,我正在写一个meteor的Web应用程序,并试图访问github回购中的所有文件的名称。 我有一个Node github api包装器(它包装的实际api位于https://github.com/mikedeboer/node-github ),我能够成功地做一些其他的github api调用(即github。 repos.getAll和gethub.user.getFollowingFromUser)。 但是,出于某种原因,当我尝试使用github.repos.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的回购文件中获取文件名),我将不胜感激这个帮助。 编辑:我试过指定一个path(即使这是一个可选的参数),我得到了一个稍微不同的结果。 修改后的代码: […]

如何将资源上传到node.js的github发行版

我正试图自动发布一些Github版本的资源,我编程创build。 这是我的上传function: function uploadFile(fileName, uploadUrl, callback){ var uploadEndPoint = url.parse(uploadUrl.substring(0,uploadUrl.indexOf('{'))); options.host = uploadEndPoint.hostname; options.path = uploadEndPoint.pathname+'?name=' + fileName; options.method = 'POST'; options.headers['content-type'] = 'application/zip'; var uploadRequest = https.request(options, callback); uploadRequest.on('error', function(e) { console.log('release.js – problem with uploadRequest request: ' + e.message); }); var readStream = fs.ReadStream(path.resolve(__dirname,'builds',fileName)); readStream.pipe(uploadRequest); readStream.on('close', function () { req.end(); console.log('release.js – ' […]

github说不能parsingjson,而在rest api中创build一个repo

我正在学习GitHub的REST api,并试图通过运行JS创build一个新的存储库。 这里是我创build一个新的回购的function:令牌生成,并且所有访问/作用域被授予我的令牌。 function createNewRepo(userId, name){ var options = { url: urlRoot + "/user/repos", method: 'POST', headers: { "User-Agent": "EnableIssues", "content-type": "application/json", "Authorization": token, "name": name, "description": "This is repo creating by REST", "homepage": "https://github.com", "private": false, "has_issues": true, "has_projects": true, "has_wiki": true, } }; //console.log(eval(options)); request(options, function (error, response, body) { var obj = […]

GitHub限速防止用户提交历史logging的返回

我写了代码来返回用户已经提交给GitHub的“连胜”(连续多less天)。 不幸的是,它是recursion地制作GitHub API请求,最终很快就会遇到速度限制问题(甚至是API令牌)。 有没有更好的方法来检索这些信息? 本质上,我正在寻找的是显示在用户帐户页面上的“绿色方块”数据: 我的示例代码正在进入速率限制: const express = require('express'); const request = require('request'); const moment = require('moment'); require('dotenv').config(); const app = express(); const port = 5000; app.get('/streak/:user', async function (req, res) { const yesterdaysDate = moment().subtract(1, 'day').format('YYYY-MM-DD'); try { const streakCountTotal = await checkUserCommitForDate(req.params.user, yesterdaysDate); res.send({ streakCountTotal }); } catch (error) { console.log(error); res.sendStatus(500); […]

Github API端点不能按预期工作

我们正在构build一个节点应用程序,在这里我们从Github API端点api.github.com/user/issues中获得特定authentication用户的问题。 这是行不通的,当我们在postman( https://www.getpostman.com/ )中testingGithub API端点时,我们会收到相同的消息: { "message": "Not Found", "documentation_url": "https://developer.github.com/v3" } 如果有人有使用这个端点的经验,我们将非常感激的帮助。

通过github APIasynchronousrecursion来获取文件

我正在使用github API来遍历一个repo并获取其中的所有文件的列表。 这个结构被称为“树”。 一棵树基本上是一个子目录。 所以如果我想看到一个树的内容,我需要对该树的ID进行GET请求。 响应将是表示该树中项目的对象数组。 但是其中一些项目也是树木,所以我不得不再次请求那棵树。 回购可能是这样的: |src app.jsx container.jsx |client index.html readme.md 这个结构将由以下对象来表示 [ { name:'src', type:'tree', id:43433432 }, { name:'readme.md', type:'md', id:45489898 } ] //a GET req to the id of the first object would return the following array: [ { name:'app.jsx', type:'file', id:57473738 }, { name:'contain.jsx', type:'file', id:748433454 }, { name:'client', […]