Мы могли бы написать функцию, в которой мы динамически генерируем URL, используя sprintf
на основе переданных activity_id
и name_id
.
get_data <- function(activity_id, name_id) {
url <- sprintf('url?activity_id=%s&name_id=%s', activity_id, name_id)
example<- httr::GET(url,add_headers(Authorization = paste("Bearer", apiKey)))
example <- httr::content(example,"text")
example <- jsonlite::fromJSON(example,flatten = TRUE)
example <- tidyr::unnest(example,data)
return(example)
}
и затем вызовите его, используя Map
.
out <- Map(get_data, activity_vec, name_vec)
Здесь activity_vec
и name_vec
- вектор соответствующих идентификаторов. Это вернет список фреймов данных в out
, который при необходимости может быть объединен в один фрейм данных перед записью в csv.
Если только name_id
меняется, мы можем сделать
get_data <- function(name_id) {
url <- sprintf('url?activity_id=b5cb9359-f0e5-4939-9be3-fc95f8bc7d6&name_id=%s', name_id)
example<- httr::GET(url,add_headers(Authorization = paste("Bearer", apiKey)))
example <- httr::content(example,"text")
example <- jsonlite::fromJSON(example,flatten = TRUE)
example <- tidyr::unnest(example,data)
return(example)
}
out <- lapply(name_vec, get_data)