首页 > 解决方案 > 在 shinyapp.io 上部署使用我的谷歌驱动器内容的应用程序

问题描述

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

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

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))

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

错误:发生错误。检查您的日志或联系应用作者进行澄清。

所以我得出结论,他的部署适用于所有不需要谷歌电子表格内容的行,但以某种方式访问​​此工作表不起作用。另外我什至不知道如何访问日志来调试自己。

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

干杯

标签: rshinygoogle-drive-apishinyapps

解决方案


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

但是,我怀疑问题在于 ShinyApps 无权访问您的 Google Drive / Google Sheet,因此您需要进行设置。

我自己为此苦苦挣扎,但在这里工作。


推荐阅读