从 R 中的列表中获取整个列表 Json

Get the whole List as Json from a List in R

你好所以我正在使用 get 请求 github api:

commitsPublic <- GET("https://<host-name>/api/v3/search/commits?
q=is:public+org:<ORG-NAME>",
add_headers(Authorization= "token <your-Token>", Accept= 
'application/vnd.github.cloak-preview'))

commitsPublic

我得到:

156 项(总计)

 Content-Type: application/json; charset=utf-8
  Size: 291 kB
{
  "total_count": 156,
  "incomplete_results": false,
  "items": [
    {
  (I removed the Items Since they are not important)

但是当我尝试转换 Json:

显示非结构化且不可读的原始数据

jsonRespText<-content(commitsPublic,as="text") 
jsonRespText

转换为Json:

toJson <- fromJSON(jsonRespText)
toJson

Returns:

$items[[30]]$score
[1] 1

它 returns 一个最多包含 30 个项目的列表 [[30]]

并且项目[[31]] 为 NULL

所以我想问的是如何从 Json 文本中获取所有列表中的 156 个列出的项目。我有另一个 get 请求,它给了我 10.000 Total Commits。但是当我从 Json 转换时,列表仍然有 30 个。所以任何帮助将不胜感激!

Github API 分页到 30 个结果。分页信息在响应 Link header 中。

library(httr)

commitsPublic <- GET("https://api.github.com/search/commits?q=is:public+org:rstudio",
                     add_headers(Accept = 'application/vnd.github.cloak-preview'))

headers(commitsPublic)$link
#> [1] "<https://api.github.com/search/commits?q=is%3Apublic+org%3Arstudio&page=2>; 
#> rel=\"next\", 
#> <https://api.github.com/search/commits?q=is%3Apublic+org%3Arstudio&page=34>; 
#> rel=\"last\""

reprex package (v0.2.1)

于 2019-03-22 创建

这告诉我们下一页的位置,在这个实例中总共有 34 页。

参考:https://developer.github.com/v3/guides/traversing-with-pagination/