Mount OneDrive for Business on Headless Linux VPS through WebDav


Web Distributed Authoring and Versioning is an extension of the Hypertext Transfer Protocol that allows clients to perform remote Web content authoring operations.


Update:

2018.06.02 Since the rclone has support to mount the OneDrive for Business without root permission, it’s recommended to use it for more conveniently.


Introduction

If the domain of your office365 account has been verified, you can use the API of OneDrive for Business with some client. See that on my previous post:
http://shui.azurewebsites.net/2017/07/07/onedrive-for-business-cli/

However, many schools don’t verify the domain, and the office365 accounts of these schools can apply online through the Microsoft website
https://products.office.com/en-us/student/office-in-education

When trying the API, these accounts will get the error:
Using application **** is currently not supported for your organization doamin.com because it is in an unmanaged state. An administrator needs to claim ownership of the company by DNS validation of doamin.com before the application *** can be provisioned.

Fortunately, we can mount OneDrive for Business through WebDav, the same way with the official OneDrive UWP on Windows 10. The way of authorising is cookie, not the normal username and password. As far as I know, the Konqueror, a GUI file manager on KDE, and davfs2, a WebDav command line tool, support to mount webdav server with cookie on Linux.

Usage

I will show the operations on Ubuntu 16.04.

Get OD4B Cookie

Login the office365 website. Choose “Stay signed in?” to “YES”, and keep the period of validity longer.
Press F12 or right click–>Inspect element–>Network to capture the traffic.
Open SharePoint or OneDrive app.

Select a HTTP request include *****.sharepoint.com, you can see the rtFa and FedAuth cookie that are required to authorize.

Get WebDav Link

Open a folder on OD4B website, copy the link on the Address Bar and URL Decode

Finally, the webdav link of root directory of OD4B:

Install Davfs2

Modify Davfs2 config

Mount OD4B

Chech Mounting Status

Upload File

You can operate the mounting folder (/home/test) like local folder.

Unmount OD4B

Shell Script

For easy use, you can use the simple shell script. If you want to mount multiple accounts, just repeat the operations or run the shell script repeatly.

Cookie Version

Auto Login Version

Docker

You can create a davfs2 image with Docker. The Image need to run with –cap-add SYS_ADMIN –device=/dev/fuse –security-opt apparmor:unconfined or –privileged.


Errors

mount.davfs: Mounting failed. 302 Found

Please make sure the link of OD4B is correct. Solution from #69

Reference linkļ¼š
https://unix.stackexchange.com/questions/337329/mount-webdav-on-linux-with-cookie-authentication
https://micreabog.wordpress.com/2017/02/24/using-duplicity-with-microsoft-sharepointonedrive-for-business/

12 Replies to “Mount OneDrive for Business on Headless Linux VPS through WebDav”

  1. Worked great! Does the cookie expire? Can I set this up as a persistent mount using say fstab? Thanks so much really great work!

    1. the cookie will expire without using about 2-3 weeks. You can try with fstab, but I recommend to mount with the rclone.

Leave a Reply

Your email address will not be published. Required fields are marked *