вот проблема, которая у меня есть. До того, как 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, он работает только в том случае, если файл принудительно загружается.
Заранее спасибо!
Есть два варианта. «Правильный» способ сделать это — закодировать полный 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 для загрузки содержимого файла.
Других решений пока нет …