这里有关于如何创建zip/tarball字符串的良好链接
当我从github下载一个zip时,文件名末尾的十六进制字符串代表什么?
但我正在看GitHub APIv3,如果我错过了什么,我很好奇.
有没有办法通过API调用获取zip/tarball链接?
如果没有,有没有办法可以在不使用git二进制文件或库的情况下构建该字符串?意思是,我可以使用各种API调用来提取需要的数据并汇编到我需要的URL吗?
我知道第二个问题对于stackoverflow来说有点不合理,这对我来说是一个有趣的项目,所以我更倾向于第二个问题,如果你只是把我推向正确的方向,而不是抛弃代码片段.或者只是告诉我是否有可能.
用例:
命令行应用程序(部署到第三方机器)需要能够通过GitHub API(v3)下载属于组织的私有仓库的tarball副本
应用程序应该只能访问这个私有仓库,而不能访问具有只读权限的其他仓库.
我已经能够通过在我的github帐户上注册client_id/secret后为应用程序创建授权来完成(1).但是,授权返回的令牌似乎不允许对repo进行只读访问,也不限于一个repo(例如,一个repo可能会使用该令牌来修改此repo以及属于该组织的其他repo).
是否可以通过适当的范围限制访问?我没有在API文档中看到任何相关内容(https://developer.github.com/v3/oauth/#scopes).
我想为我的 GitHub 操作输入参数创建一个下拉列表。这应该有助于从下拉列表中选择一个值,就像选项如何选择分支一样。
我见过几个Github个人资料有"开发者计划成员".我在Google上搜索了很多,但却无法找到人们如何在他们的个人资料中获得这些内容.
根据V2文档,您可以列出分支的所有提交:
commits/list/:user_id/:repository/:branch
Run Code Online (Sandbox Code Playgroud)
我没有在V3文档中看到相同的功能.
我想使用以下内容收集所有分支:
https://api.github.com/repos/:user/:repo/branches
Run Code Online (Sandbox Code Playgroud)
然后遍历它们,为每个提交所有提交.或者,如果有一种方法可以直接为所有分支提取所有分支,那么即使不是更好也可以.有任何想法吗?
更新:我尝试传递分支:sha作为参数如下:
params = {:page => 1, :per_page => 100, :sha => b}
Run Code Online (Sandbox Code Playgroud)
问题是,当我这样做时,它不会正确地分页结果.我觉得我们正在接近这个错误.有什么想法吗?
我正在尝试获取组织的所有存储库列表,包括私有存储库.(或者更具体地说,某个用户可以访问的所有私有存储库.)
要求组织的信息(https://api.github.com/orgs/acme?access_token=[...])表明确实有很多私有存储库:
...
"public_repos": 5,
"total_private_repos": 68,
"owned_private_repos": 68,
...
Run Code Online (Sandbox Code Playgroud)
但无论我试图列出回购......
https://api.github.com/orgs/acme/repos&access_token=[...]
Run Code Online (Sandbox Code Playgroud)
... GitHub API只返回5个公共存储库.(文档说 type=all是默认的.也尝试添加参数type=private;没有区别.)
知道我做错了什么吗?
事实上,生成访问令牌的用户只能对组织的某些私有存储库进行推送和拉取访问,但这些访问令中没有一个出现在我得到的列表中(只有5个公共存储库).
我正在尝试从GitHub的用户那里获取GitHub用户图片(头像).
我找到了这些API:
https://avatars.githubusercontent.com/<username>
https://avatars.githubusercontent.com/u/<userid>
Run Code Online (Sandbox Code Playgroud)
但我找不到从用户电子邮件或用户显示名称获取头像的方法.我找不到相关的文档.
是否有一些类似的URL API来获取我正在寻找的东西?
是否有用于仅搜索自己的 GitHub Gists 的URL查询字符串?我不在乎它是否只与公共Gists合作.
我唯一能找到的是搜索所有公共要点的网址,但这对于找到自己的要点并不是很有帮助
https://gist.github.com/search?q=hello+world
Run Code Online (Sandbox Code Playgroud)
终极目标:通过启动工具(在我的案例中为Alfred)或Chrome搜索引擎快捷方式快速搜索自己的Gists .
什么是github oauth访问令牌的到期时间.还有我如何更新它.我在他们的文档中没有看到任何刷新令牌.请指导我.提前致谢.
我正在为GitHub编写一个Webhook,并在以下位置实现安全验证KOA.js:
function sign(tok, blob) {
var hmac;
hmac = crypto
.createHmac('sha1', tok)
.update(blob)
.digest('hex');
return 'sha1=' + hmac;
}
...
key = this.request.headers['x-hub-signature'];
blob = JSON.stringify(this.request.body);
if (!key || !blob) {
this.status = 400;
this.body = 'Bad Request';
}
lock = sign(settings.api_secret, blob);
if (lock !== key) {
console.log(symbols.warning, 'Unauthorized');
this.status = 403;
this.body = 'Unauthorized';
return;
}
...
Run Code Online (Sandbox Code Playgroud)
对于pull_requests和create事件,这工作正常,即使推送新分支也可以工作,但是对于推送提交事件,x-hub-signature来自有效负载的计算哈希值不匹配,因此它总是获得403未授权.
更新
我注意到,对于这种推送有效载荷,提交和head_commit被添加到有效载荷中.我已经尝试从正文中删除提交和head_commit但它没有用.
更新
有关更多信息,请查看这些示例有效负载.我还为测试回购和令牌信息添加了url:https://gist.github.com/marcoslhc/ec581f1a5ccdd80f8b33