在 shinyapp.io 上部署使用我的 google 驱动器中的内容的应用程序

Deploy app on shinyapp.io that uses content from my google drive

我正在尝试通过 shinyapp.io 部署一个闪亮的应用程序。不幸的是,我对闪亮完全陌生,这是我的第一个项目。基本上,该应用程序应该做的是读取我保存在 google 驱动器中的 google 传播 sheet,然后对我想提供给其他人的内容进行一些分析.

我可以给你我正在使用的代码,因为它很短:

packages <- c("shiny", "googlesheets4", "googledrive", "tidyr")

lapply(packages, require, character.only = TRUE)

ui <- fluidPage("Just some test title",
                textOutput("test_output"))

server <- function(input, output) {
  output$total <-renderText({df <- drive_get("Desired_SpreadSheet") %>%
    read_sheet(sheet = "Desired Sheet") %>% drop_na()
    test_output = sum(df$numeric_column)
    print(paste0("This should be some number: ", test_output))
  })
}

shinyApp(ui = ui, server = server)

如果我在本地 运行,我会得到所需的输出。但是,当我尝试使用以下代码通过 shinyapp.io 进行部署时:

rsconnect::deployApp(dirname(rstudioapi::getSourceEditorContext()$path))

仪表板只有正确的标题,然后是错误消息

错误: 发生错误。检查您的日志或联系应用程序作者进行说明。

所以我得出结论,他的部署适用于不需要 google 传播sheet 内容的所有行,但不知何故访问此 sheet 不起作用。我什至不知道如何访问日志来调试自己。

如有任何解决此问题的建议,我将不胜感激!

干杯

您可以通过转到 shinyapps 并登录来查看日志。将会有一个包含您的应用程序的仪表板和一个用于日志的选项卡。

但是,我怀疑问题是 ShinyApps 没有访问您的 Google 驱动器 / Google Sheet 的权限,因此您需要进行设置。

我自己也为此苦苦挣扎,但它成功了