因此,我创建了一个查询来使用其 GraphQL API 从 Github 检索一些数据(使用 REST API 测试;同样的问题)。查询部分显示如下(仅显示重要内容):
query listRepos($queryString: String!, $numberOfRepos: Int!, $afterCursor: String!) {
rateLimit {
cost
remaining
resetAt
}
search(query: $queryString, type: REPOSITORY, first: $numberOfRepos, after: $afterCursor) {
repositoryCount
pageInfo {
endCursor
startCursor
}
<data related to the repository here>
}
}
我做了一小段代码,它在浏览器上运行来检索数据。该代码在执行第 50 个请求之前可以正常工作。此时,response
没有与分页相关的数据;也就是说,没有任何与pageInfo
对象相关的游标(分页)。
请注意,在这一点上,我离我能做的请求的极限还很远。事实上,我一开始有 5000 点,每个调用的成本都是 1。所以,在我停止接收分页光标的那一刻,我还剩下 4950 点。
此外,此时我已经收集了近 1000 个存储库的数据。显示我的搜索查询的repositoryCount
超过 450,000 个结果。因此,这不是到达页面/列表/数据末尾的结果。
所以,在这一点上,我无法进一步检索其余数据。我什至尝试使用 Insomnia 和 Postman 使用我拥有的最后一个有效游标检索数据,但我只得到没有任何游标的响应。
为什么会这样?
更新
尝试使用 REST API 时也会发生同样的事情。使用查询 API 并分析响应标头,我发现我只获得了 34 页的结果(大约 1000 个存储库),尽管搜索计数返回了超过 400,000 个结果。