ユーザーと共有されているDropboxファイル(共有ファイル/フォルダーリンク)のダウンロードを自動的にトリガーするアプリケーションを構築しています。概説されているように、これはファイルへのDropboxリンクに実装するのは簡単でした ここ 。
残念ながら、これは共有フォルダでは機能しません。誰もが私ができる方法についての提案があります
現在、URLにアクセスして画面スクレイピングを実行し、コンテンツリストを取得することができますが、ファイルのリンクされたDropboxブログエントリに記載されているソリューションの利点は、スクレイピングが不要なため、はるかに信頼性が高く効率的です。 。
Dropboxのサポートチームは、これを行うための最良の方法について私に記入しました:
共有リンクの最後に?dl=1
を追加するだけです。これにより、zip形式の共有フォルダーが作成されます。
したがって、ユーザーと共有するリンクがhttps://www.dropbox.com/sh/xyz/xyz-YZ
(または共有フォルダーにリンクする同様のもの)の場合、そのフォルダーのzipバージョンをダウンロードするには、https://www.dropbox.com/sh/xyz/xyz-YZ?dl=1
にアクセスするだけです。
これが他の誰かにも役立つことを願っています。
python)を介してファイルへの直接共有リンクをダウンロードすると、実際のファイルコンテンツではなくhtmlページが表示されました。_?dl=1
_を変更しても効果がありませんでした。その後、wgetが実際のファイルをダウンロードしていることに気付きました。 、_?dl=0
_の場合でも。dropboxがwgetユーザーエージェントを検出してファイルで応答するように見えるため、ユーザーエージェントヘッダーをWget/1.16 (linux-gnu)
に設定してpython 、ドロップボックス共有リンクが正しくダウンロードされています。
_headers = {'user-agent': 'Wget/1.16 (linux-gnu)'}
r = requests.get(url, stream=True, headers=headers)
with open(filepath, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
_