web-dev-qa-db-ja.com

wgetを使用してOneDriveからファイルとフォルダーをダウンロードする方法

Wgetを使用してOnedriveからファイルをダウンロードする方法(可能であればバッチファイルとフォルダ全体)

18
charles

私のために働く1つの方法があります(に基づいて OneDriveファイルの直接リンクを作成する方法

  1. (Webインターフェイスから)ダウンロードしたいファイルを右クリックし、[埋め込み]を選択します。

  2. 「このファイルを埋め込むHTMLコードを生成する」を押します。

  3. Srcの""に含まれる部分をリンクにコピーします。これは次のようになります。

  4. embeddownloadに置き換えます。これは https://OneDrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA のようになります。

  5. 次の構文を使用してwgetにフィードします(引用符が必要です):

    wget --no-check-certificate "https://OneDrive.live.com/download?cid=6EBB03E38A53ED3E&resid=6EBB03E38A53ED3E%21116&authkey=AC4lDqtLG8LqfiA"
    
  6. 楽しい。

13
Fedorov7890

Chromeを使用します(ただし、Firefoxもおそらく機能します)。

  1. DevToolsを開く
  2. ダウンロードボタンをクリックします。
  3. ダウンロードするがすぐにキャンセルする
  4. DevToolsで[ネットワーク]タブを開きます。 DevToolsで「Zip?authKey =」を検索して開きます(クリックします)。これはPOSTリクエストです。
  5. 下部の[フォームデータ]の右側にある[ソースを表示]をクリックします。
  6. 次のようにコマンドを作成します。

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アドレスを持つ)でも機能します。

5
ayke

共有リンクを生成し、最後に「&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"
3
amozejko

これは、OneDriveプロジェクト用のpython SDK(with example)SDKが機能する(個人、ビジネス、および企業アカウントの場合):

https://github.com/OneDrive/onedrive-sdk-python

2
firebitsbr

また、 CurlWget を使用することもできます。OneDriveとGoogleドライブですでに試しました

公開共有フォルダ全体をダウンロードする場合: OneDeath スクリプト

Wgetを使用していくつかのAPI呼び出しを行い、ファイルを再帰的にダウンロードします。ボーナス:完成したファイルのsha256チェック。

Sharepointは少しトリッキーですが、現在サポートされています(ただし、リンクから表示されるものよりも多くのファイルをドライブから現在フェッチしている場合を除きます)。主な問題は、わずかに異なるAPI構造と、セッショントークンの有効期限が切れているように見えるという事実でしたが、それも解決されました。また、レート制限が設定されているように見えるため、並列ダウンロードをあまり多く開始しないでください。

PS:wgetの手動ダウンロードに必要なリンクを抽出したい場合は、プロセスの概要を説明します。

0
BotOfWar