Я создаю оболочку API, в которой я использую httr
для основной массы работы. URL для API использует запятые, чтобы разделить более одного варианта для параметра запроса.
Мой текущий код использует glue::glue
и stringr
, чтобы привести вектор в порядок для построения URL. Есть ли способ использовать httr
для создания URL, включая запятые в команде httr::GET
?
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#> filter, lag
#> The following objects are masked from 'package:base':
#>
#> intersect, setdiff, setequal, union
idPlayerMLB <- c("677551", "650402")
hydrate <- c("awards", "currentTeam")
# MLB API is https://statsapi.mlb.com/api/v1/people/
base_url <- "https://statsapi.mlb.com/api/v1/people?"
# fix id to string
ids <- stringr::str_c(idPlayerMLB, collapse = ",")
hydrations <- stringr::str_c(hydrate, collapse = ",")
url <- glue::glue("{base_url}personIds={ids}&hydrate={hydrations}") %>% as.character()
url
#> [1] "https://statsapi.mlb.com/api/v1/people?personIds=677551,650402&hydrate=awards,currentTeam"
# Get URL
resp <- httr::GET(base_url,
query = list(
personIds = stringr::str_c(idPlayerMLB, collapse = ","),
hydrate = stringr::str_c(hydrate, collapse = ",")
)
)
# print URL
resp$url
#> [1] "https://statsapi.mlb.com/api/v1/people?personIds=677551%2C650402&hydrate=awards%2CcurrentTeam"
Создано в 2020-02-06 пакетом Представить (v0.3.0)