Challenge
Backup jobs for SharePoint Online and/or OneDrive items fail with any of the following errors:07-08-2018 11:11:39 3 (6640) Error: The request failed with HTTP status 401: Unauthorized. 07-08-2018 11:11:39 3 (6640) Type: System.Net.WebException 07-08-2018 11:11:39 3 (6640) Stack: 07-08-2018 11:11:39 3 (6640) at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
Or
Error: Cannot contact web site 'https://example.sharepoint.com/' or the web site does not support SharePoint Online credentials. The response status code is 'Unauthorized'. The response headers are 'X-SharePointHealthScore=1, X-MSDAVEXT_Error=917656; Access+denied.+Before+opening+files+in+this+location%2c+you+must+first+browse+to+the+web+site+and+select+the+option+to+login+automatically."
Cause
Legacy authentication protocols are disabled within Organization’s settings. As a result, applications using the SharePointOnlineCredentials class to authenticate the SharePoint Online resources are denied to access. Veeam Backup for Microsoft Office 365 uses the above-mentioned class to connect to SharePoint Online.
Solution
To resolve the issue, legacy protocols must be allowed. There are 2 ways to enable legacy protocols:- In SharePoint Online admin center under “Access control” -> “Apps that don’t use modern authentication”, choose “Allow”
- Use Set-SPOTenant cmdlet as in this Microsoft article.