googleAuthR (version 0.8.1)

gar_shiny_ui: Create a Google login before your Shiny UI launches

Description

A function that will turn your ui object into one that will look for Google authentication before loading the main app. Use together with gar_shiny_auth

Usage

gar_shiny_ui(ui, login_ui = silent_auth)

Arguments

ui

A Shiny ui object

login_ui

A UI or HTML template that is seen before the main app and contains a login in link generated by gar_shiny_auth_url

Details

Put this at the bottom of your ui.R or pass into shinyApp wrapping your created ui.

See Also

Other pre-load shiny authentication: gar_shiny_auth_url, gar_shiny_auth, gar_shiny_login_ui, silent_auth

Examples

Run this code
# NOT RUN {
# }
# NOT RUN {
library(shiny)
library(googleAuthR)
gar_set_client()

fileSearch <- function(query) {
  googleAuthR::gar_api_generator("https://www.googleapis.com/drive/v3/files/",
                                "GET",
                                pars_args=list(q=query),
                                data_parse_function = function(x) x$files)()
}

## ui.R
ui <- fluidPage(title = "googleAuthR Shiny Demo",
                textInput("query", 
                label = "Google Drive query", 
                value = "mimeType != 'application/vnd.google-apps.folder'"),
                tableOutput("gdrive")
                )
                
## server.R
server <- function(input, output, session){

# this is not reactive, no need as you only reach here authenticated
gar_shiny_auth(session)

output$gdrive <- renderTable({
  req(input$query)
  
  # no need for with_shiny()
  fileSearch(input$query)
  
  })
  }

# gar_shiny_ui() needs to wrap the ui you have created above.
shinyApp(gar_shiny_ui(ui), server)
# }

Run the code above in your browser using DataLab