GitHub API v4:如何使用分页进行遍历? (GraphQL)
Posted
技术标签:
【中文标题】GitHub API v4:如何使用分页进行遍历? (GraphQL)【英文标题】:GitHub API v4: How can I traverse with pagination? (GraphQL) 【发布时间】:2018-06-15 10:53:11 【问题描述】:我正在使用 Github API v4 运行搜索查询。
从 API 文档中我可以理解,以下查询为我提供了 pageInfo,但我不知道如何使用它来遍历。
query
search(first: 100, type:USER, query:"location:usa repos:>0 language:java")
pageInfo
startCursor
hasNextPage
endCursor
userCount
nodes
... on User
bio
company
email
id
isBountyHunter
isCampusExpert
isDeveloperProgramMember
isEmployee
isHireable
isSiteAdmin
isViewer
location
login
name
url
websiteUrl
响应是:
"data":
"search":
"pageInfo":
"startCursor": "Y3Vyc29yOjE=",
"hasNextPage": true,
"endCursor": "Y3Vyc29yOjEwMA=="
,
...
【问题讨论】:
【参考方案1】:根据graphql documentation,分页模型不止一种。
GitHub 正在使用完整的连接模型
在此模型中,您可以通过在搜索查询中添加 after:"Y3Vyc29yOjEwMA==" 进行遍历。
query
search(first: 100, after:"Y3Vyc29yOjEwMA==" type:USER, query:"location:usa repos:>0 language:java")
pageInfo
startCursor
hasNextPage
endCursor
userCount
nodes
... on User
bio
company
email
id
isBountyHunter
isCampusExpert
isDeveloperProgramMember
isEmployee
isHireable
isSiteAdmin
isViewer
location
login
name
url
websiteUrl
【讨论】:
以上是关于GitHub API v4:如何使用分页进行遍历? (GraphQL)的主要内容,如果未能解决你的问题,请参考以下文章
如何从客户端 javascript 查询 GitHub api v4?
如何将 Github API v4 (graphql) 与 javascript XMLHttpRequest 一起使用
通过 Github Graphql v4 API 列出所有用户