在“搜索”连接上请求500条记录超出了graphql中100条记录的“第一”限制

时间:2019-06-07 06:40:24

标签: pagination graphql github-api

我正在尝试使用searched关键字获取所有存储库。搜索结果大约有500个存储库,但是我只能检索100个,因为这是限制,有什么方法可以检索全部500个。

query {
    rateLimit{
        cost
        remaining
        resetAt
    }

search(query: "-js created:>2015-01-01 language:JavaScript", type:REPOSITORY, first: 500){ 
    repositoryCount
    pageInfo {
        hasNextPage
        endCursor
        startCursor
    }
    edges {
        node {
            ... on Repository {
                name
                url
            }
        }
    }
}

}

我收到消息

  

“在search连接上请求500条记录超过了first   最多100条记录。”,以及         “ type”:“ EXCESSIVE_PAGINATION”

1 个答案:

答案 0 :(得分:0)

我这样尝试过,能够列出所有存储库,但不能一次列出所有存储库。

有一个名为“ endCursor”的字段,当您首先运行查询:100时,您将获得endCursor的一些值,然后在搜索查询中为“ after”字段提供该endCursor值,如下所示:

    search(query: "-js created:>2015-01-01 language:JavaScript", 
    type:REPOSITORY, first: 100, after: "endCursor value")

通过这种方式,您可以获得下一个100个存储库,同样可以列出剩余的存储库。