Я использую httr
пакет для получения данных из API данных:GET больше объектов с использованием HTTR пакета в R
request3 <- GET(url = "https://api.data-api.io/xxxxx/", add_headers('x-dataapi-key' = "xxxxx"), query = list(oib = "18527887472"))
Как получить больше объектов в одной строке кода? Допустим, у меня есть вектор:
oibreq <- c("18527887472", "92680516748", "00045103869")
и я хочу получить объекты для этого 3 «запросов». Долгий путь - вызвать функцию GET 3 раза:
request1 <- GET(url = "https://api.data-api.io/xxxx", add_headers('x-dataapi-key' = "xxxx"), query = list(oib = "18527887472"))
request2 <- GET(url = "https://api.data-api.io/v1/eoglasna/", add_headers('x-dataapi-key' = "xxxx"), query = list(oib = "00045103869"))
request2 <- GET(url = "https://api.data-api.io/v1/eoglasna/", add_headers('x-dataapi-key' = "xxxx"), query = list(oib = "92680516748"))
Есть ли более быстрый способ сделать это? Это проблема, если у меня есть 100 oibreq
элементов.
я изменить код, чтобы включить Дополнительные функции: 'my_get <- function (object) { fromJSON (toJSON (содержимое (GET (url =" https://api.data-api.io/v1/eoglasna/ ", add_headers ('x-dataapi- key '= "59dd75a6525e"), query = list (oib = objec t)), type = "application/json"), null = "null"), flatten = TRUE) } req1 <- lapply (oibreq, my_get) 'и он создает списки списков списков ..., e , г. '[[2]] [[2]] [[1]] [[2]] [[1]] $ datum [1]" 2015-10-19T09: 03: 30 + 02: 00 "' – Mislav
@Mislav Да ... это имело бы смысл. Но почему вы используете 'fromJSON (toJSON (...))' ... там не нужно 'toJSON()' там. – Thomas
Потому что он возвращает ошибку, если я не использую 'toJSON()': 'Ошибка: Аргумент 'txt' должен быть строкой, URL-адресом или файлом JSON.' SO, я до сих пор не получаю желаемого результата. Я хотел бы получить data.frame, но вместо этого получаю тот же странный объект со списком списков ... – Mislav