Как загрузить файлы и папки из Onedrive с помощью wget?

17

Как использовать wget для загрузки файлов с Onedrive? (и пакетные файлы и целые папки, если это возможно)

Жоао Жозе
источник
1
Пожалуйста, посмотрите на superuser.com/questions/833199/… "В Office 365 как получить прямую ссылку для загрузки документа Excel, хранящегося в One Drive for Business?" чтобы увидеть, отвечает ли это на ваш вопрос.
Стив
Но необходим подписной аккаунт в Office365.
Жоао Жозе
Использовать клиент OneDrive, который кто-то любезно написал для Linux? github.com/xybu/onedrive-d-old
Стив
Попробуйте загрузить файл в браузер, пока идет загрузка, щелкните правой кнопкой мыши и «скопируйте ссылку для загрузки». Если вам повезет, вы можете увидеть эту ссылку.
Баазигар
Я пробовал Onedrive-d, но не мог выполнить работу. Действительно, скопировав ссылку на файл и поместив в 'wget', все работает, спасибо.
Жоао Жозе

Ответы:

12

Есть один способ, который работает для меня (на основе этого учебника: https://www.marstranslation.com/blog/how-to-make-direct-link-of-onedrive-files )

  1. Щелкните правой кнопкой мыши по файлу, который вы хотите загрузить (из веб-интерфейса), и выберите «Вставить».

  2. Нажмите «Создать HTML-код для встраивания этого файла» .

  3. Скопируйте часть, содержащуюся в ""src, по вашей ссылке. Это будет выглядеть так.

  4. Заменить embedна download. Это будет выглядеть как 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. Наслаждаться.

Fedorov7890
источник
Хорошо, теперь все в одном месте)
Fedorov7890
Нельзя забывать вставлять ссылку ""в wget. Я сделал, и это не сработало.
Dushyant Bangal
@ Fedorov7890 Это не работает. Я пытался скачать папку.
Нихил
Это работает только для файлов
Nikhil
5

Использование Chrome (но Firefox, вероятно, также будет работать).

  1. Откройте DevTools
  2. Нажмите кнопку Скачать.
  3. Скачать, но отменить немедленно
  4. Откройте вкладку «Сеть» в DevTools. Найдите «Zip? AuthKey =» в DevTools и откройте его (щелкните). Это запрос 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-адресом).

ayke
источник
Более простой вариант (с использованием Firefox): Инструменты-> Веб-разработчик-> Сеть. Найдите «Zip? AuthKey =», щелкните по нему правой кнопкой мыши и «Копировать как cURL». Скопируйте и вставьте в командную строку и добавьте «-o / path / to / some / file». Конечно, здесь используется cURL вместо wget, но для этого они функционируют одинаково
happyskeptic
1

Также мы можем использовать CurlWget, который я уже пробовал на OneDrive и Google Drive.

Педро Диамел Марреро Фернандес
источник
1

создайте ссылку для загрузки и добавьте "& 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"
amozejko
источник
ЭТО! это самый простой способ, и он работает.
Стефан Зайдель