有人知道如何通过托管的应用程序与Dropbox上的.xlsx文件交互吗?

有人知道如何通过托管的应用程序与Dropbox上的.xlsx文件交互吗?,r,shiny,dropbox,openxlsx,R,Shiny,Dropbox,Openxlsx,我为我的工作制作了一个相对精致的闪亮应用程序,在本地运行得非常好。但是,我正在尝试托管该应用程序,以便没有下载R Studio的用户可以访问它。我无法通过shinyapps.io运行应用程序。这似乎主要是因为它找不到Dropbox上的文件。该应用程序几乎完全基于在Dropbox上加载和写入文件。我试图更改文件路径,并使用rdrop2加载文件,但它会更改某些内容的格式,而且据我所知,要协调起来会非常复杂。我是一个非常新手的程序员,一想到必须重新构建整个应用程序,我就有点焦虑,肯定需要付出相当大的努

我为我的工作制作了一个相对精致的闪亮应用程序,在本地运行得非常好。但是,我正在尝试托管该应用程序,以便没有下载R Studio的用户可以访问它。我无法通过shinyapps.io运行应用程序。这似乎主要是因为它找不到Dropbox上的文件。该应用程序几乎完全基于在Dropbox上加载和写入文件。我试图更改文件路径,并使用rdrop2加载文件,但它会更改某些内容的格式,而且据我所知,要协调起来会非常复杂。我是一个非常新手的程序员,一想到必须重新构建整个应用程序,我就有点焦虑,肯定需要付出相当大的努力。是否有人知道一种更“简单”的方法,可以通过shinyapps.io上的闪亮应用程序修改Dropbox上的文件,最好是在仍然能够使用“openxlsx”软件包的情况下?事先非常感谢

一个我认为可行但没有成功的解决方法是将Dropbox文件的文件路径指定给用户,因为任何使用该应用程序的人都应该可以访问Dropbox:


此.data免责声明:我不建议依赖谷歌未提交的URL来保证隐私

修改从DropBox复制的共享链接,将
dl=0
替换为
dl=1
,使下载开始,而不是显示在DropBox UI中

然后,您可以在读取.xlsx()之前将.file()下载到一个
tempfile()
文件中

library(shiny)
library(openxlsx)
library(DT)

ui <- fluidPage(
  titlePanel("XL Read from dropbox"),
  mainPanel( DTOutput("dt"))
)

server <- function(input, output) {
  tmpfile <- tempfile(fileext='.xlsx')
  download.file(url = "https://www.dropbox.com/s/1v0l...5u803a9hg/my_file.xlsx?dl=1", destfile = tmpfile , mode="wb")
  output$dt <- renderDT(read.xlsx(outfile))
}

shinyApp(ui = ui, server = server)
库(闪亮)
库(openxlsx)
图书馆(DT)

如果是公开的(开放的)数据,可以考虑使用开放数据。platform@HubertL这可能是一种可能性。你的意思是将我自己的数据传输到一个开放平台吗?您是否推荐任何特定的平台?谢谢你的建议。不幸的是,这些数据包含姓名和电话号码,所以我只能在万不得已的情况下进行研究。。。