Как получить доступ к сеансу браузера/куки файлы из приложения Shiny

Как я могу получить доступ к файлам cookie и другим данным, связанным с браузером, из приложения Shiny?

С session $clientData, мы можем получить другие данные о клиенте, такие как host, port, query param...

Есть ли другой способ получить файлы cookie в блестящем приложении?

1 ответ

Чтобы использовать замечательные комментарии, вы можете использовать пакет js.cookie.js с функцией Shiny.OnInputChange() для возврата файлов cookie.

Пример приложения здесь: 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
})
})

licensed under cc by-sa 3.0 with attribution.