I’m trying to get rclone migrated from the old, deprecated OneDrive API to the new Graph API based on @olihey 's branch olihey/onedrive_graph. My pull request can be found here. Now the work is almost done and I would like you to help test it out. The expected advantages of this migration should be:
Less API throttling
Possibility to apply for your own Client ID / Key easily through (Docs)
More Unified OneDrive Personal / Business / Sharepoint Support
And More…
Update: The code has been merged into master, so all v1.43-beta versions that can be found on https://beta.rclone.org/ will contain this change. Thank you for your support!
I tried to setup a new Sharepoint site via rclone config. I selected OneDrive as the storage type, then after the auto config succeeded I chose “2 / Sharepoint site”. I then got this error:
2018/08/27 13:41:20 Failed to query available drives: HTTP error 429 (429 ) returned body: "{\r\n \"error\": {\r\n \"code\": \"activityLimitReached\",\r\n \"message\": \"The request has been throttled\",\r\n \"innerError\": {\r\n \"request-id\": \"9962c0d6-aff7-4c8d-a65b-4848922f695b\",\r\n \"date\": \"2018-08-27T03:40:48\"\r\n }\r\n }\r\n}"
This appears to relate to the OneDrive API’s request throttling, so I’m not sure how much can be done about it from rclone’s side, but some useful docs can be found here:
I managed to get around it by selecting ‘5 / Search a Sharepoint site’ and selecting the site that way.
Second issue occurred when I tried to sync some files from Dropbox to the Sharepoint site. I started getting errors like this:
2018/08/27 13:53:05 ERROR : Document.docx: corrupted on transfer: sizes differ 17225 vs 24280
2018/08/27 13:53:05 INFO : Document.docx: Removing failed copy
This only seems to happen for certain types of files (Office files like docx, msg, txt). I’m pretty sure this is the same issue as the one discussed by just-ak here:
In that Sharepoint modifies files after upload, rclone interprets the size difference as a corrupt transfer and discards it.
Thanks @Cnly, I followed the steps in that article and the error doesn’t appear now. Although the returned list of sites for option 2 isn’t what I expected - I think it only sees document libraries within the top level site collection (orgname.sharepoint.com). It doesn’t seem to pick up on any subsites - I can only see document libraries for the top level. So to find the document library in the team site I wanted to use, I had to use the search function (option 5), which works fine.
You’re right that option 2 only lists the drives of the root site - it’s actually a drive selector (for the root site), not a site selector. Maybe we can change this option to a site & drive selector.