一周前,我能够通过c#应用程序以编程方式访问SharePoint Online。现在,我收到以下错误:
The remote server returned an error: (503) Server Unavailable.
我可以在浏览器中完全访问SharePoint网站。
我尝试通过SharePoint Online命令行管理程序访问它,但执行以下操作时遇到相同的错误:
$adminUPN="name@business.com"
$userCredential = Get-Credential -UserName $adminUPN -Message "Type the password."
Connect-SPOService -Url https://business.sharepoint.com/sites/bd/resume/ -Credential $userCredential
当我尝试使用以下方法不使用凭据进行连接时
:Connect-SPOService -Url https://business.sharepoint.com/sites/bd/resume/
它首先弹出一个Microsoft登录窗口,仅输入我的用户名/电子邮件,看起来很正常。但是,当我输入电子邮件时,单击“下一步”会将我带到其他登录页面,该页面看上去不正常(请参阅下面的屏幕截图,我用黑色涂鸦删除了公司信息)。
输入密码并按Enter键后,出现另一个错误:
Connect-SPOService : Could not authenticate to SharePoint Online https://business.sharepoint.com/sites/bd/resume/ using OAuth 2.0
首先,我想确认这是否是我的问题,还是管理员方面的权限问题等。
答案 0 :(得分:1)
引起问题的原因可能是以下事实:租户级别的 LegacyAuthProtocolsEnabled 属性设置为 False 。将此属性的值设置为 True 可以解决此问题。
要获取当前值,请在PowerShell中运行以下命令:
Connect-SPOService
Get-SPOTenant
要将 LegacyAuthProtocolsEnabled 的值设置为True,请在PowerShell中运行以下命令:
Connect-SPOService
Set-SPOTenant -LegacyAuthProtocolsEnabled $True
运行命令后,有必要等待一段时间才能生效。
根据documentation,值为False会阻止使用非现代身份验证协议的Office客户端访问SharePoint Online资源。
True值-使使用非现代身份验证协议(例如,基于窗体的身份验证(FBA)或Identity Client Runtime Library(IDCRL))的Office客户端访问SharePoint资源。