r - 在 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))
仪表板仅具有正确的标题,然后是错误消息
错误:发生错误。检查您的日志或联系应用作者进行澄清。
所以我得出结论,他的部署适用于所有不需要谷歌电子表格内容的行,但以某种方式访问此工作表不起作用。另外我什至不知道如何访问日志来调试自己。
对于如何解决此问题的任何建议,我将不胜感激!
干杯
解决方案
您可以通过访问 shinyapps 并登录来检查日志。将有一个包含您的应用程序的仪表板和一个用于日志的选项卡。
但是,我怀疑问题在于 ShinyApps 无权访问您的 Google Drive / Google Sheet,因此您需要进行设置。
我自己为此苦苦挣扎,但在这里工作。
推荐阅读
- node.js - Vue.js 卡在 40% 的服务如何恢复?
- angular - 如何将参数传递给不带括号的函数?
- entity-framework - EF 核心中的迁移、ModelCreating 上的 Fluent Api 定义或模型类中的属性标签需要注意哪一个?
- jquery - 每个循环运行新数组都应该创建-Jquery
- list - Javafx:ManyToMany 关系的 Tableview
- javascript - Javascript 警报在 IE 中提示两次
- java - 我可以使用什么 Java SDK 返回 IoT 中心中的设备列表
- python - SqlAlchemy 从对象获取模型名称
- php - 如何打印页眉
- linq - 使用 Linq 过滤表数据