Title: | Authenticated HTTP Request Client for the 'Hakai' API |
---|---|
Description: | Initializes a class that obtains API credentials and provides a method to use those credentials to make GET requests to the 'Hakai' API server. Usage instructions are documented at <https://hakaiinstitute.github.io/hakai-api/>. |
Authors: | Taylor Denouden [aut, cre], Brett Johnson [aut], Nate Rosenstock [ctb], Chris Davis [ctb] |
Maintainer: | Taylor Denouden <[email protected]> |
License: | MIT + file LICENSE |
Version: | 1.0.2 |
Built: | 2025-02-16 02:45:18 UTC |
Source: | https://github.com/hakaiinstitute/hakai-api-client-r |
Class to use to make authenticated API requests for Hakai data
api_root
The api_root you are logged in to
new()
Log into Google to gain credential access to the API
Client$new( api_root = "https://hecate.hakai.org/api", login_page = "https://hecate.hakai.org/api-client-login" )
api_root
Optional API base url to fetch data. Defaults to "https://hecate.hakai.org/api"
login_page
Optional API login page url to display to user. Defaults to "https://hecate.hakai.org/api-client-login"
A client instance
client <- Client$new()
get()
Send a GET request to the API
Client$get(endpoint_url)
endpoint_url
The full API url to fetch data from
A dataframe of the requested data
client$get("https://hecate.hakai.org/api/aco/views/projects")
post()
Send a POST request to the API
Client$post(endpoint_url, rec_data)
endpoint_url
The full API url to fetch data from
rec_data
dataframe, list, or other R data structure to send as part of the post request payload
post request response status code and description
put()
Send a PUT request to the API
Client$put(endpoint_url, rec_data)
endpoint_url
The full API url to fetch data from
rec_data
dataframe, list, or other R data structure to send as part of the post request payload
PUT request response status code and description
patch()
Send a PATCH request to the API
Client$patch(endpoint_url, rec_data)
endpoint_url
The full API url to fetch data from
rec_data
dataframe, list, or other R data structure to send as part of the post request payload
PATCH request response status code and description
remove_credentials()
Remove your cached login credentials to logout of the client
Client$remove_credentials()
client$remove_credentials()
clone()
The objects of this class are cloneable with this method.
Client$clone(deep = FALSE)
deep
Whether to make a deep clone.
# Initialize a new client client <- Client$new() # Follow authorization prompts to log in # Retrieve some data. See <https://hakaiinstitute.github.io/hakai-api/> for options. url <- paste0(client$api_root, "/aco/views/projects?project_year=2020&fields=project_name") projects_2020 <- client$get(url) print(projects_2020) # # A tibble: 20 x 1 # project_name # <chr> # 1 Fountain FN # 2 Haig Glacier # 3 Fraser River - Chimney Creek West William Canyon # 4 Cruickshank WS # ... ## ------------------------------------------------ ## Method `Client$new` ## ------------------------------------------------ client <- Client$new() ## ------------------------------------------------ ## Method `Client$get` ## ------------------------------------------------ client$get("https://hecate.hakai.org/api/aco/views/projects") ## ------------------------------------------------ ## Method `Client$remove_credentials` ## ------------------------------------------------ client$remove_credentials()
# Initialize a new client client <- Client$new() # Follow authorization prompts to log in # Retrieve some data. See <https://hakaiinstitute.github.io/hakai-api/> for options. url <- paste0(client$api_root, "/aco/views/projects?project_year=2020&fields=project_name") projects_2020 <- client$get(url) print(projects_2020) # # A tibble: 20 x 1 # project_name # <chr> # 1 Fountain FN # 2 Haig Glacier # 3 Fraser River - Chimney Creek West William Canyon # 4 Cruickshank WS # ... ## ------------------------------------------------ ## Method `Client$new` ## ------------------------------------------------ client <- Client$new() ## ------------------------------------------------ ## Method `Client$get` ## ------------------------------------------------ client$get("https://hecate.hakai.org/api/aco/views/projects") ## ------------------------------------------------ ## Method `Client$remove_credentials` ## ------------------------------------------------ client$remove_credentials()