无法再通过编程方式访问SharePoint Online

时间:2018-06-27 16:12:40

标签: sharepoint sharepoint-online

一周前,我能够通过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登录窗口,仅输入我的用户名/电子邮件,看起来很正常。但是,当我输入电子邮件时,单击“下一步”会将我带到其他登录页面,该页面看上去不正常(请参阅下面的屏幕截图,我用黑色涂鸦删除了公司信息)。

Password login

输入密码并按Enter键后,出现另一个错误:

Connect-SPOService : Could not authenticate to SharePoint Online https://business.sharepoint.com/sites/bd/resume/ using OAuth 2.0

首先,我想确认这是否是我的问题,还是管理员方面的权限问题等。

1 个答案:

答案 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资源。