https://github.com/karthikram/rDroprDrop
から入手できるパッケージを使用しており、少し調整した後 (すべての機能が常に期待どおりに機能しないため)、最終的には希望どおりに動作しますが、トークンは時間の経過とともに期限切れになると思うので、毎回トークンを取得したら、アプリの使用を許可するために承認検証が必要です...(そうでない場合とトークンにハードコーディングできます。それも良い解決策になるので教えてください...)
基本的に、トークンリクエストの後に許可ボタンをクリックする必要がないように、Rのコマンドラインからドロップボックスフォルダーからcsvファイルを1行のコードでダウンロードするほぼシームレスな方法が必要でした。
これは可能ですか?
これは、ドロップボックスの csv ダウンロードをまとめるために使用したコードです。
db.csv.download <- function(dropbox.path, ...){
cKey <- getOption('DropboxKey')
cSecret <- getOption('DropboxSecret')
reqURL <- "https://api.dropbox.com/1/oauth/request_token"
authURL <- "https://www.dropbox.com/1/oauth/authorize"
accessURL <- "https://api.dropbox.com/1/oauth/access_token/"
require(devtools)
install_github("ROAuth", "ropensci")
install_github("rDrop", "karthikram")
require(rDrop)
dropbox_oa <- oauth(cKey, cSecret, reqURL, authURL, accessURL, obj = new("DropboxCredentials"))
cred <- handshake(dropbox_oa, post = TRUE)
raw.data <- dropbox_get(cred,dropbox.path)
data <- read.csv(textConnection(raw.data), ...)
data
}
ああ、明らかでない場合は、ドロップボックスのキーとシークレットを .Rprofile ファイルに入れました。これは、getOption 部分が参照しているものです。
提供されたヘルプに事前に感謝します。(おまけとして...インストール時にもすべての読み込みメッセージを取り除く方法を誰かが知っていれば、それは素晴らしいことです...)