【问题标题】:How to access session$user in Shiny using Shiny Pro如何使用 Shiny Pro 在 Shiny 中访问 session$user
【发布时间】:2015-05-28 04:10:05
【问题描述】:

我有一个简单的闪亮应用程序,我正在测试 SHINY pro,我想像文档建议的那样访问 session$user:

http://rstudio.github.io/shiny-server/latest/#flat-file-authentication。请参阅显示此代码的第 4.1 节:

shinyServer(function(input, output, session) {
  output$username <- reactive({
    session$user
  })

该代码有效,但我需要通过 GetUser() 函数访问 ui.r 文件中的 session$user

这是我的 ui.r 文件:

library(shiny)
shinyUI(fluidPage(
  textOutput("HeaderTime"),
  sidebarPanel(
    selectInput("t",   "t:",  as.character(GetUser()), selected = as.character(GetUser())), width = 2
  ),
  mainPanel(
    tabsetPanel(
      tabPanel("test",
               dataTableOutput("Table"), 
               plotOutput("Plot"),
#                verbatimTextOutput("Txt"),
               width = 12
      )
    )
  )
))

您可以在 selectInput 中看到 GetUser() 函数。我已将 GetUser() 放在我的 server.R 文件中:

shinyServer(function(input, output, session) {

  GetUser<-reactive({
    return(session$user)
  })

output$Plot<-renderPlot({

  hist(rnorm(1000))
})


output$Table<- renderDataTable({ 
  data.frame(a=c(1,2,3,4),b = c("TEst","test","test","test"))
})

})

当我运行这段代码时,我得到了错误:

Error in GetUser() : argument "session" is missing, with no default

知道如何允许 ui.r 访问 server.r 文件中的 GetUser() 以便在 ui 中使用 session$user 吗?

这是运行项目的代码:

library(rJava)
library(shiny)
install.packages("shiny")
runApp("C://me/pathtoproject")

谢谢。

【问题讨论】:

    标签: r shiny shiny-server


    【解决方案1】:

    您得到的错误确实解决了问题(尽管以一种神秘的方式)。

    当您在 ui 中调用 GetUser 函数时,“会话”参数是未知的(即它仅被服务器“知道”)。

    我建议使用updateSelectInput(或renderUI,如果您愿意)并从服务器端发送session$user 值。

    类似的东西(未测试):

     server = function(session,input, output) {
    
      GetUser<-reactive({
        return(session$user)
      })
    
     updateSelectInput(session, "t", "t:",  as.character(GetUser()),selected = as.character(GetUser()))
    

    【讨论】:

      猜你喜欢
      • 2020-03-19
      • 2016-08-18
      • 2017-04-29
      • 2013-11-09
      • 2020-01-29
      • 2021-04-14
      • 1970-01-01
      • 2018-08-09
      • 2019-10-10
      相关资源
      最近更新 更多