Получить весь список как Json из списка в 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

Возвращает:

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

Возвращает список с элементами до номера 30 "[[30]]

и элементы [[31]] имеют значение NULL

Итак, я спрашиваю, как я могу получить список из 156 элементов в списке из текста Json. У меня есть еще один запрос на получение, который дает мне 10.000 Total Commits. Но когда я конвертирую из Json, в списке еще 30. Так что любая помощь была бы благодарна!

1 ответ

Решение

Github API разбивает на 30 результатов. Информация о нумерации страниц находится в заголовке ссылки ответа.

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\""

Создано 2019-03-22 пакетом представлением (v0.2.1)

Это говорит нам, где находится следующая страница, и что в данном случае всего 34 страницы.

Ссылка: https://developer.github.com/v3/guides/traversing-with-pagination/

Другие вопросы по тегам