标签: github-api

如何使用 GET /gists/:id 从 github 获取单个要点

不知何故,我无法从 github 获得任何要点。

可以说我想得到以下要点:https ://gist.github.com/jrm2k6/6637633

只需复制并粘贴到浏览器的 URL 字段中即可。

https://api.github.com/users/jrm2k6可以获取 json 格式的用户信息。

我可以将https://api.github.com/users/jrm2k6/gists来自该用户的所有公共要点以 json 形式列出。

但是我如何获得GET /gists/:idid = 6637633 的特定要点,就像 api 文档中所描述的那样:http://developer.github.com/v3/gists/#get-a-single-gist

我应该https://api.github.com/users/jrm2k6/gists/6637633收到 json 形式的要点内容,但我收到一个错误

{
  "message": "Not Found",
  "documentation_url": "http://developer.github.com/v3"
}
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

解决方案:您不需要 /users/:user。在职的:https://api.github.com/gists/6637633

github github-api

1
推荐指数
1
解决办法
6150
查看次数

如何使用 GitHub API?

当它告诉我使用时,我不确定这意味着什么:

GET /repos/:owner/:repo/commits/:sha

如何使用该 API 调用来检索我正在查找的信息?

github-api

1
推荐指数
1
解决办法
946
查看次数

如何通过PyGithub将分支合并到master

比如我有一个文件t.json,内容是:

{
  "a": "abcdefg"
}
Run Code Online (Sandbox Code Playgroud)

文件 t.json 被推送到 master 分支。然后我向文件添加一些内容,并签出到新分支,因此文件现在如下所示:

{
  "a": "abcdefg",
  "b": "mkjuujj"
}
Run Code Online (Sandbox Code Playgroud)

现在我可以使用 PyGithub 比较两个提交。代码是这样的:

WORKING_BRANCH = "my_new_branch"
new_branch_ref_str = "refs/heads/%s" % WORKING_BRANCH
branch_ref = None
all_ref = repo.get_git_refs()

for ref in all_ref:
    if ref.ref == new_branch_ref_str:
        branch_ref = ref
        break

if not branch_ref:
    # create branch from this commit
    b = repo.get_branch("master")
    branch_ref = repo.create_git_ref(ref=new_branch_ref_str,
                                 sha=b.commit.sha)

    last_head = repo.get_branch(WORKING_BRANCH)
    fc = repo.get_file_contents("/t.json", ref=WORKING_BRANCH)
    file = 't.json'
    commit_message = "create a new branch with changes"
    input_file …
Run Code Online (Sandbox Code Playgroud)

python git version-control github-api pygithub

1
推荐指数
1
解决办法
2193
查看次数

如何查找存储库的已关闭问题数量?

您可以通过GitHub 的 API 中的Repositories > Get方法找到项目的未解决问题数量。

但是有没有办法在不迭代所有问题的情况下找到已关闭问题的数量或问题总数?此类信息可在每个项目的问题页面上找到,但 API 中似乎没有。

例如,在https://github.com/nodejs/node/issues 上

节点存储库的问题计数

github-api

1
推荐指数
1
解决办法
1366
查看次数

如何使用 PyGithub 在组织中创建新存储库

如何在 Github 上使用 PyGithub 在组织中创建新存储库?我特别想知道如何使用该create_repo方法?

我的问题与这个问题相同,但我希望创建的存储库出现在组织中。

在没有组织级别的情况下创建存储库的解决方案是:

g = Github("username", "password")
user = g.get_user()
repo = user.create_repo(full_name)
Run Code Online (Sandbox Code Playgroud)

python api github github-api pygithub

1
推荐指数
1
解决办法
2110
查看次数

GitHub API:个人访问令牌自行删除

我需要访问 Github GraphQL API,以便每 N 小时永久发出以下请求:

query($ids: [ID!]!) {
rateLimit {
    cost
    remaining
    resetAt
}

nodes(ids: $ids) {
    ... on Repository {
        milestones(last: 100) {
            nodes {
                issues(last: 100) {
                    nodes {
                        closedAt
                        closed
                    }
                }

                state
                dueOn
            }
        }
    }
}
}
Run Code Online (Sandbox Code Playgroud)
  1. 我创建了一个个人访问令牌,就像这里所说的那样,只有 1 个范围:public_repo
  2. 我将其复制并粘贴到我的应用程序属性中。
  3. 我启动了我的应用程序,它按预期工作。
  4. 但有时,在一些不清楚的情况下,几乎随机(在应用程序执行期间或关闭后),Github API 响应401 Unauthorized
  5. 我访问我的设置/开发人员设置/个人访问令牌。最后创建的令牌消失。
  6. 为什么?我究竟做错了什么?

github token github-api access-token

1
推荐指数
1
解决办法
763
查看次数

从 Github API 获取特定的 README.md 数据

最近,我开始尝试使用 GitHub API 从公共存储库获取特定数据。长话短说,我想从 repo 中获取 README.md 文件的特定部分。

例如,来自 Facebook 的 react 存储库的 master 分支我想获取GitHub API文档标题下的文本。这可能吗?欢迎任何实现这一目标的方法。谢谢!

API :响应 README.md API 数据

公共 Github URL:React 公共仓库

github github-api readme

1
推荐指数
2
解决办法
3118
查看次数

使用 GitHub GraphQL API v4 查询单个存储库中的所有提交

我正在尝试通过 GitHub 的 GraphQL API v4 查询对 GitHub 上指定存储库的所有提交。

我只想提取他们提交的日期,以估计贡献给该存储库的总时间(类似于git-hours

这是我的初始查询:(注意:您可以尝试在Explorer 中运行它)

{
  repository(owner: "facebook", name: "react") {
    object(expression: "master") {
      ... on Commit {
        history {
          nodes {
            committedDate
          }
        }
      }
    }
  }
}

Run Code Online (Sandbox Code Playgroud)

不幸的是,由于 API 的资源限制,它只返回最新的 100 次提交:

节点限制

要通过模式验证,所有 GraphQL API v4 调用都必须满足以下标准:

  • 客户端必须在任何连接上提供第一个或最后一个参数。
  • first 和 last 的值必须在 1-100 之间。
  • 单个调用不能请求超过 500,000 个总节点。

因此,由于我没有提供firstorlast参数,API 假定我正在查询history(first: 100). 而且我不能在单个连接中查询超过 100 个节点。

但是,总节点限制要高得多(500,000),我应该能够以 100 个为一组查询提交,直到我拥有所有提交。

我能够使用此查询查询最新的 …

github github-api graphql

1
推荐指数
1
解决办法
1073
查看次数

将 GitHub api 与 Python dict“解析 JSON 时出现问题”一起使用时出现问题

我正在尝试使用 GitHub api 来创建新文件。根据文档

这可以通过 PUT 请求来完成。

我正在使用 requests 包来发出请求。GitHub api 端点接受有效的 json 对象作为输入,即字符串位于双引号内。

我的数据具有以下格式 -

{
  'message': 'Updated learn.md',
  'content': 'ZW51bTM0PT0xLjEuNAotZSBnaXQraHR0cHM6Ly9naXRodWIuY29tL29wZW50b2svT3BlbnRvay1QeXRob24tU0RLLmdpdEAwMzU4YTI0ZDM0ZTkzMjVjYzRhODNhYmQxZTVjMGJmYzQ2M2ZkMjYwI2VnZz1vcGVudG9rCnB5dHo9PTIwMTYuNApyZXF1ZXN0cz09Mi4xMC4wCgo=',
  'branch': 'master'
}
Run Code Online (Sandbox Code Playgroud)

由于我以 Python 字典的形式放置数据,因此它带有单引号,但 GitHub 不接受它,并给出“解析 JSON 时出现问题”的 400 响应,如下所示

{
  "message": "Problems parsing JSON",
  "documentation_url": "https://developer.github.com/v3/repos/contents/#update-a-file"
}
Run Code Online (Sandbox Code Playgroud)

我已经验证问题是因为仅使用邮递员发出 PUT 请求时的引号,在这种情况下它是成功的。

正确的数据如下所示

{
  "message": "Updated learn.md",
  "content": "ZW51bTM0PT0xLjEuNAotZSBnaXQraHR0cHM6Ly9naXRodWIuY29tL29wZW50b2svT3BlbnRvay1QeXRob24tU0RLLmdpdEAwMzU4YTI0ZDM0ZTkzMjVjYzRhODNhYmQxZTVjMGJmYzQ2M2ZkMjYwI2VnZz1vcGVudG9rCnB5dHo9PTIwMTYuNApyZXF1ZXN0cz09Mi4xMC4wCgo=",
  "branch": "master"
}
Run Code Online (Sandbox Code Playgroud)

这是我拨打电话的方式

def put_data_to_github(self, url, data):
    headers = {}
    headers['Authorization'] = "token " + self.auth_token
    response = requests.put(url, data=data, headers=headers)
    return response
Run Code Online (Sandbox Code Playgroud)

如何在 Python 中创建有效的 …

python json github-api python-3.x python-requests

1
推荐指数
1
解决办法
1223
查看次数

从 GitHub API 获取用户活动统计信息

我一直在浏览 GitHub API 文档,但似乎无法找到一种方法来获取支持“贡献活动”部分和用户个人资料的贡献图表的数据。有没有办法通过API获得这个?

我知道有user/:user/events/recieved_events终点,但这些似乎当用户星库大多包括。我对哪个存储库/什么提交/等的实际信息不感兴趣,但只对获取提交/问题/等的时间序列(或类似的东西)感兴趣。构成个人资料页面的贡献图表和活动部分的活动数据。理想情况下,所有 Github 活动都有数字,无论哪个 repo/repo 隐私/等。

我要做的就是将其合并到我的 Github 页面网站中。

github github-api

1
推荐指数
1
解决办法
2414
查看次数