Joplin version: 2.8.8
Installed trough: Flatpak net.cozic.joplin_desktop on Flathub
Operating System: EndeavourOS (based on Arch Linux)
I could sync fine with my personal OneDrive account, but now that I switched to OneDrive for Business (trough the institutional email address my university provided) the following error appears on the console and syncing doesn't work.
Error: The provided drive id appears to be malformed, or does not represent a valid drive.
at OneDriveApi.oneDriveErrorResponseToError (onedrive-api.ts:134)
at OneDriveApi.<anonymous> (onedrive-api.ts:312)
at Generator.next (<anonymous>)
at fulfilled (/app/joplin-desktop/…b/onedrive-api.js:5)
at processTicksAndRejections (internal/process/task_queues.js:95)
EDIT: (thanks to Daeraxa <3) please, before attempting any of this, do a backup of your data/config directory along with all of your notes.
So, just wanted to share my solution.
I opened my database.sqlite file (which I found in $HOME/.config/joplin-desktop, but location may vary depending on your system) with sqlite3.
Then I deleted a couple of rows from the settings table with the following query:
DELETE FROM settings WHERE key REGEXP "sync.3";
After deleting every row in the settings table with a key that started with sync.3 I just needed to login again and then I could sync just fine.
Seems like Joplin was having trouble updating that row, so it did not register the Business account.
If you are having trouble deleting that row, simply deleting the database.sqlite file or the whole config directory may help, but in that case you'd loose the rest of your configuration.
Just to point out (to others reading this) that if you do this you also lose all of your notes as well so please don't touch this unless you have either backed everything up or know what you are doing.