
Моя компания использует Office 365 с OneDrive. Я загрузил туда файл Excel и поделился им через «гостевую ссылку».
Можно ли создать ссылку, которую можно было бы использовать только для загрузки файла без дополнительной аутентификации?
Для автоматизации я думаю использовать простую схему:
wget https://acmeamce.sharepoint.com/personal/myname/.../blabla.xlsx
решение1
Благодаря обнаружению того, что OneDrive для бизнеса на самом деле является переименованным Sharepoint 2013 иответ в Sharepoint@SEМне удалось получить ссылку для программной загрузки документа.
Один из способов — щелкнуть правой кнопкой мыши по документу в веб-интерфейсе и ввести URL-адрес. У меня это не сработало, так как этот URL-адрес требовал аутентификации, но...
Берем префикс URL, например
https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=
и «обычный» URL, сгенерированный как гостевая ссылка
https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=123123
и их объединение сработало как по волшебству:
wget https://acmeacme.sharepoint.com/personal/myname/_layouts/15/download.aspx?SourceUrl=https://acmacme.sharepoint.com/personal/myname/_layouts/15/guestaccess.aspx?guestaccesstoken=123123%3d&docid=12312
решение2
Все, что мне нужно было сделать, это немного изменить ссылку Edit. Просто замените guestaccess.aspx
на download.aspx
.
решение3
Хочу добавить к этой теме (которая указала мне правильное направление — спасибо!), когда я попытался сделать так, как описано выше, я получил сообщение 403 FORBIDDEN при попытке загрузки и вход в Office 365 при вставке в браузер.
Для решения этой проблемы я скопировал часть guestaccesstoken=... второго URL и сделал ее параметром также и первого URL.
Затем аутентификация прошла успешно, и загрузка прошла отлично.
Спасибо! Стив