How can I access cookies and other browser-related session data from within a Shiny app?
With session$clientData, we are able to get other client details like host,p
To build on the great comments, you can use the js.cookie.js package with the Shiny.OnInputChange() function to return cookies.
An example app is here: https://beta.rstudioconnect.com/iwallace/cookies/
--ui.r--
library(shiny)
library(shinydashboard)
fluidPage(
tags$head(tags$script(src="js.cookie.js")),
# a shiny element to display unformatted text
box(title ="click the gray square to view cookies!", verbatimTextOutput("results"),actionButton("go","click me")),
# javascript code to send data to shiny server
tags$script('
document.getElementById("go").onclick = function() {
var number = Math.random();
Cookies.set(\'name\', \'value\', { expires: 7 });
Cookies.set(\'cookie_2\', \'value\', { expires: 7 });
var my_cookie = Cookies.get();
Shiny.onInputChange("mydata", my_cookie);
};
')
)
--server.r--
library(shiny)
shinyServer(function(input, output,session) {
output$results = renderPrint({
input$mydata
})
})