Foreword (context) video.
To setup a custom client ID, you must register a new application with Microsoft and enable the appropriate permissions.
- Sign up and/or login to Microsoft Entra
- In the sidebar select "Identity" → "Applications" → "App registrations"
- In the tab bar select "New registration"
- Choose a name for the application and select "Accounts in any organizational directory (Any Microsoft Entra ID tenant - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)". Leave the "Redirect URI" empty and click "Register"
- Copy the "Application (client) ID" and then click "Add a Redirect URI"
- Select "Add a platform" and then "Mobile and desktop applications"
- Under "Custom Redirect URIs" add
goa-oauth2://localhost/<client-id>
, then click "Configure" - Select "API permissions" in the application sidebar, then "Add a permission" in the tab bar
- Select "Microsoft Graph" and "Delegated Permissions", then add the following permissions:
- offline_access
- contacts.readwrite
- files.readwrite
- files.readwrite.all
- mail.readwrite
- sites.read.all
- sites.readwrite.all
- user.read
- Click on "Add permissions" to complete the process
Credit: @andyholmes for the wiki.
Unfortunately, M$ is about profit not ❤️ for Linux.
The real issue is the counterintuitive UX with the dialog that pops up when the user selects Microsoft 365 in GNOME's Online Accounts. You don't need all those steps if what you're up to is simply getting access to your OneDrive files via GVfs backend (same as with Google). Here's WHAT YOU NEED TO DO: leave both fields empty (Client/Tenant ID) and hit the Sign in... You'll login as usual with your personal MSFT account credentials (email and password).