如何查询 GraphQL GitHub API 以找到我的第一个 git 提交?
Posted
技术标签:
【中文标题】如何查询 GraphQL GitHub API 以找到我的第一个 git 提交?【英文标题】:How to query the GraphQL GitHub API fo find my first git commit ever? 【发布时间】:2020-03-17 03:21:24 【问题描述】:我使用 API 并能够找到我曾经贡献过的所有存储库,但我很难找到我的第一个提交。
我尝试了什么:
viewer
repositoriesContributedTo(first: 100, privacy: PUBLIC, contributionTypes: COMMIT, before: "2013-07-11T00:00:00")
totalCount
nodes
nameWithOwner
pageInfo
endCursor
hasNextPage
我得到了什么:
"errors": [
"type": "INVALID_CURSOR_ARGUMENTS",
"path": [
"viewer",
"repositoriesContributedTo",
"nodes"
],
"locations": [
"line": 5,
"column": 7
],
"message": "`2013-07-11T00:00:00` does not appear to be a valid cursor."
,
"type": "INVALID_CURSOR_ARGUMENTS",
"path": [
"viewer",
"repositoriesContributedTo",
"pageInfo"
],
"locations": [
"line": 8,
"column": 7
],
"message": "`2013-07-11T00:00:00` does not appear to be a valid cursor."
]
GitHub 的 GraphQL 浏览器链接: https://developer.github.com/v4/explorer/
【问题讨论】:
【参考方案1】:要查找第一个提交,您可以按CREATED_AT
升序排列:
viewer
repositoriesContributedTo(
first: 100
orderBy:
field : CREATED_AT
direction : ASC
privacy: PUBLIC
contributionTypes: COMMIT)
totalCount
nodes
nameWithOwner
pageInfo
startCursor
endCursor
hasNextPage
附:输入参数中的before
字段应该分配有从pageInfo
结果中的startCursor
或endCursor
获得的光标值,但不是日期字符串。
【讨论】:
嗨,Ken,感谢您的回答,尤其是您的解释。你自己试过你的代码吗?我认为结果不可能是正确的。我确实在 GitHub 上搜索了我对开源/公共存储库所做的第一次提交。使用您的代码,我得到了一个包含 60 多个存储库的列表,其排序顺序我无法理解。第一个是我在 2019 年 3 月做出贡献的地方,最后一个是在 2018 年 6 月。但我确实至少每周为开源做出贡献,并且通过向下滚动 GitHub 的首页,我发现了 2015 年的一个提交,它没有出现在你的结果中列表。 是否有可能,“CREATED_AT”不是指提交,而是指存储库?以上是关于如何查询 GraphQL GitHub API 以找到我的第一个 git 提交?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 HttpUrlConnect 使用 java 查询 Github graphql API
GitHub API v4:如何使用分页进行遍历? (GraphQL)
如何使用 GraphQL API 搜索 GitHub Projects Beta
GitHub 的 GraphQL API:如何获取我对特定公共存储库所做的所有提交?