如何使用R从dropbox下载文件(任何形式)

YJZ*_*YJZ 8 r dropbox

我试过了

download.file('https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg',
              destfile="1.jpg",
              method="auto")
Run Code Online (Sandbox Code Playgroud)

但它返回该页面的HTML源代码.

还试了一下rdrop

library(rdrop2)
# please put in your key/secret
drop_auth(new_usesr = FALSE, key=key, secret=secret, cache=T)
Run Code Online (Sandbox Code Playgroud)

弹出网站报道:

Invalid redirect_uri: "http://localhost:1410": It must exactly match one of the redirect URIs you've pre-configured for your app (including the path).
Run Code Online (Sandbox Code Playgroud)

我不太了解URI的事情.有人可以推荐一些文件来阅读....

我阅读了一些帖子,但大多数都讨论了如何从excel文件中读取数据.

repmis仅用于阅读excel文件...

library(repmis)
repmis::source_DropboxData("test.csv",
                           "tcppj30pkluf5ko",
                           sep = ",",
                           header = F)
Run Code Online (Sandbox Code Playgroud)

也试过了

library(RCurl)
url='https://www.dropbox.com/s/tcppj30pkluf5ko/test.csv'
x = getURL(url)
read.csv(textConnection(x))
Run Code Online (Sandbox Code Playgroud)

它不起作用......

任何帮助和讨论都表示赞赏.谢谢!

Gre*_*reg 10

第一个问题是因为https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg链接指向预览页面,而不是文件内容本身,这就是您获取HTML的原因.你可以修改这样的链接虽然指向文件内容,如下所示:

https://www.dropbox.com/help/201

例如,添加raw = 1 URL参数:

https://www.dropbox.com/s/r3asyvybozbizrm/Himalayas.jpg?raw=1

您的下载程序需要遵循重定向才能使用.

第二个问题是因为您尝试使用OAuth 2应用程序授权流程,这需要预先注册所有重定向URI.您可以在App Console的应用程序页面上为Dropbox API应用注册重定向URI,例如http:// localhost:1410:

https://www.dropbox.com/developers/apps

有关使用OAuth的详细信息,请参阅此处的Dropbox API OAuth指南:

https://www.dropbox.com/developers/reference/oauthguide