我有一个分享给我下载的保管箱链接,但与其他链接不同,它说我禁止下载。
我的职能:
source_DropboxData <- function(file, key, sha1 = NULL, sep = ",", header = TRUE){
URL <- paste0('https://dl.dropboxusercontent.com/s/',
key, '/', file)
stopifnot(is.character(URL), length(URL) == 1)
temp_file <- tempfile()
on.exit(unlink(temp_file))
request <- GET(URL)
stop_for_status(request)
writeBin(content(request, type = "raw"), temp_file)
file_sha1 <- digest(file = temp_file, algo = "sha1")
if (is.null(sha1)) {
message("SHA-1 hash of file is ", file_sha1)
}
else {
if (!identical(file_sha1, sha1)) {
stop("SHA-1 hash of downloaded file (", file_sha1,
")\n does not match expected value (", sha1,
")", call. = FALSE)
}
}
read.table(temp_file, sep = sep, header = header)
}
我的链接如下:
https://www.dropbox.com/sh/od6ymc4wu8uht5e/IxPX-EOhNx/a%b%x #fake, for demonstration
正式的看起来像这样:
http://dl.dropbox.com/s/c18lcwnnrodsevt/test_dropbox_source.R
我的问题是两个链接之间的区别是一个安全且无法下载而另一个是可能的吗?我的印象是,repmis的功能可以同时执行私有和公共文件。
由于
答案 0 :(得分:0)
这里的关键是
?raw=1
附加到网址这是使用load
和.rda
文件的示例,但同样适用于read.csv
等。
myURL = "https://www.dropbox.com/s/randomIDstring/YourFilename.rda?raw=1"
myConnection = url(myURL)
print(load(myConnection))
close(myConnection) # good practice to close connection opened by url()