为了了解 blob 在 Github API 中的工作原理,我尝试创建一个 blob,并在下面的海报中显示,我在响应中创建了 201,但在我的 github 存储库中,我对这个 blob 只字未提。我不明白blob在这里是如何工作的,我期望blob的功能是它允许我将文件推送到存储库,基本上我想要实现的是使用github API将文件推送到存储库,怎么做这与 blob API 相关吗?

有没有办法获取任意给定月份的 github 存储库的克隆统计信息?
我们有一个克隆选项卡,其中包含过去 14 天的统计信息https://help.github.com/articles/about-repository-graphs/#traffic但查看历史数据会很有趣。
查看文档,每个事件都有一个“Webhook 事件名称”,但似乎没有在 Webhooks 的有效负载中发送。
如果您创建一个侦听多个事件的 Webhook,那么(除了鸭子类型之外)您如何能够区分哪个事件是触发该钩子的事件?
我想按存储库的创建日期对存储库搜索结果进行排序。这可能是一项简单的任务,但我已经挣扎了一段时间。请帮忙 :(
我用来@octokit/rest访问 github 并尝试使用该authenticate()函数进行身份验证。
const credentials = { type: 'oauth', key: process.env.GITHUB_ID, secret: process.env.GITHUB_SECRET }
octokit.authenticate(credentials)
Run Code Online (Sandbox Code Playgroud)
我从 github 应用程序的设置页面获取了凭据(OAuth 凭据,位于页面底部),并且我已检查它们在流程环境中是否设置正确。
https://www.npmjs.com/package/@octokit/rest#authentication说,身份验证是同步的,因为它只为以下请求设置凭据,所以我await在这里不使用。
这似乎有效,至少,它不会引发任何错误。
我创建检查运行的代码:
octokit.checks.create({...})
Run Code Online (Sandbox Code Playgroud)
但是当运行这段代码时,我收到错误
{ HttpError: {"message":"You must authenticate via a GitHub App.","documentation_url":"https://developer.github.com/v3/checks/runs/#create-a-check-run "}
at response.text.then.message (/usr/app/node_modules/@octokit/rest/lib/request/request.js:72:19)
at process._tickCallback (internal/process/next_tick.js:68:7)
Run Code Online (Sandbox Code Playgroud)
-- 如果我改为生成 JWT 令牌并进行身份验证,如下所示: constcredentials = { type: 'oauth', token: process.env.GITHUB_TOKEN }
与 JWT 一样
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1MzUxMTEwNzcsImV4cCI6MTUzNTExMTY3NywiaXNzIjoiSXYxLjAwNjhkZjdkYzRmNjNkMGIifQ.KHb1V3Fh6WKLAlcZkQPntVehvl1frp3rdBT9-lOTJRzAx8JxGyxpEUnOdwbNU3gmx_G1Fu3E3QEbcCWs0L743HkJ4B53JQpni1cQ1YZ25e0HH3OO6HW4WycaYbgGPcZRZCDe0vocwaxKjHq16uG7jsfVLC4lR94GVxJQhu-w9WX9BVxE3x_yqKdMhFYhKvez8oBpAXRZFQbKtw2rb8TXHV3-PKXTRCfO_fR_Omr7J3Mw26yHdnoRK1pA7BS5O1P0UAFmWshLted2UbE0S8SU0ZoUnZE0QA3wW-o4Q4-6oEGCK9UWLnnHAfn11Ow7rKulSUyCvZgKV8niGSL7R97nWg
我得到以下回复:
{"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}
我有一个文件,其内容是“来自测试”- 9 个字节。文档说创建的文件的 SHA 是使用 SHA1 计算的:
计算文件的 SHA-1 哈希值并将其存储在 blob 对象中。
(来自https://developer.github.com/v3/git/blobs/)
然而,当我计算“from test”的十六进制编码的 SHA1 输出时,我得到5669556d9a5c27fdd649dcaaa0873757c2aa402f.
Github API 表示 SHA 是62b551731eada762035d4665978027cd44291290- 这是返回的 ETag 以及用于检索文件的 API 响应中“sha”的值。此外,当我使用“from test”作为值和566955...sha 调用 CreateFile 端点时,我被告知 SHA 不正确。
我还尝试附加换行符,计算内容的base64编码值的SHA,计算base64+尾随换行符的SHA,但它们都没有给我62b551731eada762035d4665978027cd44291290. Github 是如何计算这个值的?
我已经仔细检查了远程文件的内容是否相同 - “来自测试” - 不知何故 SHA 仍然不同。
我正在尝试从此 github api 链接https://api.github.com/users/arif2009获取数据。使用 posman get 请求可以正常工作。
但是,如果我尝试使用.net HttpClient获取数据,则会显示Forbidden。
C#代码:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("https://api.github.com/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var response = await client.GetAsync("users/arif2009");
if (response.IsSuccessStatusCode)
{
var data = response.Content.ReadAsAsync<GithubUser>();
}
}
Run Code Online (Sandbox Code Playgroud)
谁能告诉我我哪里出错了?
每次页面加载时,我都想统计我的关注者人数。
我找到的端点是api.github.com/users/tim-hub/followers,它可以获取所有关注者数据(带分页)。
?page=4,并做一个简单的计算30*(4-1)+[count of page 4],但这意味着它会调用多次,因为关注者在变化,如果它增加或减少,我必须调用到第 5 页或第 3 页. 并循环直到找到最后一页。GraphQL api 似乎可以用来获取计数,问题是我想通过前端调用它,并且Graph方式需要身份验证,我不想与所有人共享我的角色令牌。
如何从 github API V3 获取给定拉取请求的项目和链接问题?该pulls端点没有给出其中任何信息。在 github 的拉取请求部分的侧边栏中,有Projects并Linked issues提到。但是我找不到通过 API 调用获取此信息的方法。
我想找出合并成功后拉取请求关闭的问题。
有没有办法随时间检索有关 GitHub 存储库星数的信息?我知道我可以获取使用stargazersAPI 端点为存储库加星标的所有用户的列表。但是,这不包括有关每个用户何时为 repo 加注星标的信息。关于如何检索这些数据的任何提示?