Nothing
#' \pkg{tubern} provides access to the YouTube Analytics and Reporting API
#'
#' @name tubern
#' @importFrom httr GET POST PUT DELETE authenticate config stop_for_status upload_file content oauth_endpoints oauth_app oauth2.0_token
#' @importFrom jsonlite toJSON
#' @importFrom utils URLencode
#' @docType package
NULL
#' Check if authentication token is in options
#'
yt_check_token <- function() {
app_token = getOption('google_token')
if (is.null(app_token)) stop("Please get a token using yt_oauth()")
}
#'
#' Base POST AND GET functions. Not exported.
#'
#' GET
#'
#' @param path path to specific API request URL
#' @param query query list
#' @param \dots Additional arguments passed to \code{\link[httr]{GET}}.
#' @return list
tubern_GET <-
function(path, query=NULL, ...) {
yt_check_token()
req <- GET("https://www.googleapis.com/", path= paste0("youtube/analytics/v1/", path), query=query, config(token = getOption("google_token")), ...)
stop_for_status(req)
res <- content(req)
res
}
#'
#' POST
#'
#' @param path path to specific API request URL
#' @param query query list
#' @param body passing image through body
#' @param \dots Additional arguments passed to \code{\link[httr]{POST}}.
#'
#' @return list
tubern_POST <-
function(path, query=NULL, body="", ...) {
yt_check_token()
req <- POST("https://www.googleapis.com/", path= paste0("youtube/analytics/v1/", path), body=body, query=query, config(token = getOption("google_token")), ...)
stop_for_status(req)
res <- content(req)
res
}
#'
#' PUT
#'
#' @param path path to specific API request URL
#' @param query query list
#' @param body passing image through body
#' @param \dots Additional arguments passed to \code{\link[httr]{PUT}}.
#'
#' @return list
tubern_PUT <-
function(path, query=NULL, body="", ...) {
yt_check_token()
req <- PUT("https://www.googleapis.com/", path= paste0("youtube/analytics/v1/", path), body=body, query=query, config(token = getOption("google_token")), ...)
stop_for_status(req)
res <- content(req)
res
}
#'
#' DELETE
#'
#' @param path path to specific API request URL
#' @param query query list
#' @param body passing image through body
#' @param \dots Additional arguments passed to \code{\link[httr]{DELETE}}.
#'
#' @return list
tubern_DELETE <-
function(path, query=NULL, body="", ...) {
yt_check_token()
req <- DELETE("https://www.googleapis.com/", path= paste0("youtube/analytics/v1/", path), body=body, query=query, config(token = getOption("google_token")), ...)
stop_for_status(req)
res <- content(req)
res
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.