R/get_appearance.R

Defines functions get_appearance

Documented in get_appearance

#' Call that gets the appearance of a given superhero.
#'
#' @param access_token Required. Unique token obtained from the SuperHero API site. Token should be set to the environment and will be retrieved
#' that way.
#' @param character_id Required. The Character ID or name of the Superhero
#'
#' @return Returns a dataframe with the work/occupation  of the specific superhero.
#' @export
#' @import dplyr
#' @importFrom stringr str_to_title
#' @importFrom glue glue
#' @importFrom here here
#' @importFrom purrr pluck
#' @import httr
#' @importFrom jsonlite fromJSON
#'
#'


get_appearance <- function(access_token = Sys.getenv("SUPERHERO_TOKEN"), character_id) {

  if(is.character({{character_id}})) {

    load(file = here("data", "character_ids.rda"))

    cnvrt_char_str <- character_ids %>%
      filter(character == str_to_title({{character_id}})) %>%
      select(id) %>%
      pluck('id')

    base_url <- glue('https://superheroapi.com/api/{access_token}/{cnvrt_char_str}/appearance')

    results <- GET(url = base_url)

    appearance_df <- fromJSON(rawToChar(results$content)) %>%
      as_tibble()

    return(appearance_df)

  } else{

    base_url <- glue('https://superheroapi.com/api/{access_token}/{character_id}/appearance')

    results <- GET(url = base_url)

    appearance_df <- fromJSON(rawToChar(results$content)) %>%
      as_tibble()

    return(appearance_df)
  }

}
Edgar-Zamora/superheroR documentation built on Dec. 17, 2021, 6:22 p.m.