Загрузите файл OneDrive с cURL, так как они изменили структуру своего URL

вот проблема, которая у меня есть. До того, как OneDrive изменил URL, было легко заставить файл загружаться из cURL, но теперь, так как они изменили конструкцию своего URL, я не могу использовать предыдущий подход замены redir? с загрузкой? Вот как они были построены:

https://onedrive.live.com/redir?resid=

Чтобы сразу начать загрузку, нам просто нужно было заменить редир на загрузку вот так

https://onedrive.live.com/download?resid=

и это все исправляло, но теперь URL-адреса выглядят так:

https://1drv.ms/u/s!AsdMSpdm_dmsadMSda

Итак, мой вопрос: как я могу загрузить файл из cURL, я не могу этого сделать даже с CURLOPT_FOLLOWLOCATION, он работает только в том случае, если файл принудительно загружается.
Заранее спасибо!

2

Решение

Есть два варианта. «Правильный» способ сделать это — закодировать полный URL-адрес общего доступа, следуя описанным здесь деталям. https://dev.onedrive.com/shares/shares.htm#encoding-sharing-urls и затем создайте URL-адрес следующим образом

https://api.onedrive.com/v1.0/shares/{encodedUrl}/root/content

Который будет загружать содержимое общего файла по URL. Вариант № 2 — склеить URL-адрес и взять сегмент пути, который начинается с s! и просто используйте это в том же месте, что и закодированный URL:

https://api.onedrive.com/v1.0/shares/s!.../root/content

В любом случае, вы можете использовать cURL для загрузки содержимого файла.

8

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]