web-dev-qa-db-ja.com

DropboxリンクからUnixサーバーへのwgetを介してサブフォルダーを含むフォルダーをダウンロード

https://www.dropbox.com/sh/w4366ttcz6/AAB4kSz3adZ のようなDropboxリンクがあります。これにより、通常のDropboxサイトがフォルダーとファイルで開かれます。 wgetを使用して完全なコンテンツ(tarまたは直接同期として)をUNIXマシンにダウンロードする機会はありますか?単一のファイルがダウンロードされたいくつかの投稿をここで見ましたが、これに対する答えを見つけることができませんでした。 DropboxのAPIがありますが、私のサーバーでは64ビットの問題があるため、サーバーでは機能しません http://www.dropboxwiki.com/dropbox-addons/dropbox-gallery-download#BASH_Version 私にとっても機能しません...他の提案はありますか?

15
user2338300

このヘルプ記事では、Dropbox共有リンクから異なる動作を取得するために使用できるいくつかのパラメーターについて説明しています。

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

たとえば、次のリンクを使用します。

https://www.dropbox.com/sh/igoku2mqsjqsmx1/AAAeF57DR2ou_nZGC4JPoQKfa

dlパラメータを使用して、直接ダウンロードできます。 curlを使用して、次のようにダウンロードできます。

curl -L https://www.dropbox.com/sh/igoku2mqsjqsmx1/AAAeF57DR2ou_nZGC4JPoQKfa?dl=1 > download.Zip

(リダイレクトに従うには-Lが必要です。)

または、wgetを使用して、次のようにします。

wget --max-redirect=20 -O download.Zip https://www.dropbox.com/sh/igoku2mqsjqsmx1/AAAeF57DR2ou_nZGC4JPoQKfa
20
Greg

現在、あなたはおそらくあなたが公開しないことをお勧めします アプリの作成 すべてのファイルにアクセスできるか、専用のアプリフォルダー(より安全)にアクセスできます。アプリの設定ページの半分ほど下の[APIトークンを生成]ボタンをクリックして、安全に保存します。次に、専用のダウンロードまたは ZipダウンロードAPI呼び出し sを使用して、次のような場所からファイルを取得できます。

curl -X POST https://content.dropboxapi.com/2/files/download_Zip \
    --header "Authorization: Bearer $MY_DROPBOX_API_TOKEN" \
    --header 'Dropbox-API-Arg: {"path": "/path/to/directory"}' \
    > useful-name.Zip

トークンを環境変数として追加すると、これらの操作の入力/スクリプト作成が簡単かつ安全になります。 BASHを使用していて、ignorespace$HISTCONTROL入力するだけで+キーを貼り付けることができます先行スペースを付けて、履歴に保存されないようにします。頻繁に使用する場合は、0600 SSHキーと同じように、sourceで実行できる権限。

 export MY_DROPBOX_API_TOKEN='...'
1
Walf

Wgetで--content-dispositionを使用することもできます。

wget https://www.dropbox.com/sh/igoku2mqsjqsmx1/AAAeF57DR2ou_nZGC4JPoQKfa --content-disposition

フォルダ名をZipファイル名として自動検出します。

はい、できますので、以下の手順に従ってください。

まず、Dropbox共有リンクを取得します。次のようになります https://www.dropbox.com/s/ad2arn440pu77si/test.txt

次に、そのURLの末尾に「?dl = 1」と「-Oファイル名」を追加して、次のようなものになるようにします:wget https://www.dropbox.com/s/ad2arn440pu77si /test.txt?dl=1 -O test.txt

これで、ファイルをLinuxに簡単に取り込むことができます。

0
Guru