Wgetを使用してOnedriveからファイルをダウンロードする方法(可能であればバッチファイルとフォルダ全体)
私のために働く1つの方法があります(に基づいて OneDriveファイルの直接リンクを作成する方法 )
(Webインターフェイスから)ダウンロードしたいファイルを右クリックし、[埋め込み]を選択します。
「このファイルを埋め込むHTMLコードを生成する」を押します。
Srcの""
に含まれる部分をリンクにコピーします。これは次のようになります。
embed
をdownload
に置き換えます。これは https://OneDrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA のようになります。
次の構文を使用してwget
にフィードします(引用符が必要です):
wget --no-check-certificate "https://OneDrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA"
楽しい。
Chromeを使用します(ただし、Firefoxもおそらく機能します)。
wget --post-data='<raw form data>' '<Download URL>'
または:
wget --post-data='resIds=xxx&canary=yyy&authkey=zzz' 'https://cid--foobar.users.storage.live.com/downloadfiles/V1/Zip?authKey=zzz'
これは、別のホスト(別のIPアドレスを持つ)でも機能します。
共有リンクを生成し、最後に「&download = 1」を追加します。
例えばリンクが " https://some.Host/:z:/x/personal/some_user/123456asdf?e=12345 "の場合
その後
wget "https://some.Host/:z:/x/personal/some_user/123456asdf?e=12345&download=1"
これは、OneDriveプロジェクト用のpython SDK(with example)SDKが機能する(個人、ビジネス、および企業アカウントの場合):
また、 CurlWget を使用することもできます。OneDriveとGoogleドライブですでに試しました
公開共有フォルダ全体をダウンロードする場合: OneDeath スクリプト
Wgetを使用していくつかのAPI呼び出しを行い、ファイルを再帰的にダウンロードします。ボーナス:完成したファイルのsha256チェック。
Sharepointは少しトリッキーですが、現在サポートされています(ただし、リンクから表示されるものよりも多くのファイルをドライブから現在フェッチしている場合を除きます)。主な問題は、わずかに異なるAPI構造と、セッショントークンの有効期限が切れているように見えるという事実でしたが、それも解決されました。また、レート制限が設定されているように見えるため、並列ダウンロードをあまり多く開始しないでください。
PS:wgetの手動ダウンロードに必要なリンクを抽出したい場合は、プロセスの概要を説明します。