我想知道是否有办法确定我们是否要连接到SharePoint Online服务器或内部部署服务器(因为凭据对象类型不同)。我在C#中使用CSOM API与SharePoint 2013和SharePoint Online服务器。
到目前为止,我还没有在ClientContext对象本身找到任何有用的东西,所以我想只是检查一下用户是否登录的登录信息就像是" DOMAIN \ ACCOUNT"或" account@domain.tld"但我不知道是否可以在SharePoint Online或其他方面拥有Domain \ Account登录类型。
如果无法做到,我只是要求用户告诉它是什么类型的服务器。
答案 0 :(得分:1)
从SharePoint发回的HTTP响应中有一个MicrosoftSharePointTemaServices
标头。它包含版本号。 2013年将返回15.0.0.xxxx
和O365 16.0.0.xxxx
(至少现在,将来可能会破坏版本)。
您可以像这样检索它:
var request = WebRequest.Create("https://sharepoint.contoso.com");
try
{
request.GetResponse(); //fails with 401
}
catch (WebException ex)
{
var version = ex.Response.Headers["MicrosoftSharePointTeamServices"];
}