如何实时读取/获取 shiny 的 googlesheet 数据

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

如果 Google 表格发生变化,我希望我的 Shiny 能够阅读我的 Google 表格;现在我正在使用 intervalMillis = 60000 的 reactivepoll。但是我的编码 shiny 不会在几分钟内更新,但是如果我刷新它 shiny 将显示来自谷歌表的最新数据,即使我的代码成功然后我的 shiny 会刷新每 1分钟,它会导致延迟,我如何更改我的代码,以便每次我的 google 工作表发生变化时都可以更新 df

df <- reactivePoll(
    intervalMillis = 60000,
    session = session,
    checkFunc = function() {
      sheets <- gs4_find()
      sheets[[1]]
    },
    valueFunc = function() {
      df <- range_speedread(ss, sheet = sheet_name, range = "A1:T", guess_max = 10000)
      df$KPI <- as.numeric(df$KPI)
      df$Budget <- as.numeric(df$Budget)
      dfPage likes` <- as.numeric(dfPage likes`)
      df$KPI <- as.numeric(df$KPI)
      df <- filter(df, Budget > 0)
      return(df)
    }
  )

我的 dt 是这样的:

datatable(df() %>% select(-c(Engagement, Lead, `Page Like`,Views)), extensions = 'Buttons', options = list(
                                 dom = 'Bfrtip',
                                 buttons = c('copy', 'csv', 'excel', 'pdf', 'print')
                               )) %>%
                               formatPercentage("Burn Rate",1) %>% 
                               formatCurrency(c("Budget", "Roll Out Budget", "Cost"),currency = "Rp. ",digits = 2L,mark = ",") %>%
                               formatStyle(
                                 "Burn Rate",
                                 backgroundColor = styleInterval(c(0.95, 1.00), c("#ffc04d", "#66b366", "#fb6666")),
                                 backgroundSize = "80% 90%",
                                 backgroundRepeat = "no-repeat",
                                 color = "black",
                                 backgroundPosition = "center"
                               )
r google-sheets shiny shinydashboard
© www.soinside.com 2019 - 2024. All rights reserved.