我应该如何访问shiny用户的会话信息?

问题描述 投票:0回答:1

我想知道是否有任何方法可以访问我的 Shiny 应用程序的用户日志。

目前,我使用下面的代码来获取谁登录以及此人何时注销。

但是,我更想知道用户登录的时间,以便我能够知道用户使用该应用程序的时间。

session$onSessionEnded(function(){
      UserInfo <- data.frame(
                  LoginName = session$user, 
                  Time = as.character(Sys.time())
                             )

另外,我知道 Google Analytics 可以轻松访问此类信息,但我确实更喜欢用“闪亮”的方式来解决它。

我也尝试使用`session$clientData',因为文档说它用于“从客户端获取非输入数据”,但我不知道如何获得登录时间。

有人知道我如何实现这一目标吗?预先感谢!

r shiny
1个回答
1
投票

根据闪亮的范围规则

server <- function(input, output, session)
中的所有内容都是每个会话。

server <- function(input, output, session) {
  # everything in here is run once per-session, so it should run as soon as
  # a user starts using the app
  started <- Sys.time()
  # ... reactives here ...
  session$onSessionEnded(function() {
    UserInfo <- data.frame(
      LoginName = session$user, 
      Time = as.character(Sys.time())
    )
    # ... do something with UserInfo ...
  })

事实上,范围规则确实表明了这一点,但他们将其命名为

startTime
(困难的事情:缓存失效和变量命名。)

© www.soinside.com 2019 - 2024. All rights reserved.