SharePoint API 适用于 2016 内部部署和在线
SharePoint API for both 2016 On-Premise and Online
各位同事大家好,
我开始编写一个 SharePoint 适配器,它应该适用于:支持 SharePoint 2016 On-Premise/Online 和 365。到目前为止,我了解到 Office365 使用 Online,因此它将支持的版本缩小到:SharePoint 2016内部部署和 SharePoint Online。
我发现每个受支持的版本有两个不同的 API:
SharePoint 2016 内部部署
API:SharePoint Server 2016 客户端组件 SDK
https://www.microsoft.com/en-us/download/details.aspx?id=51679
SharePoint Online
API:Microsoft.SharePointOnline.CSOM(最新版本 - 16.1.7018.1200)
https://msdn.microsoft.com/en-us/library/office/jj193041.aspx
https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/
根据资料(https://dev.office.com/blogs/using-correct-csom-version-for-sharepoint-customizations)
如果您可以保证您的代码不会触及本地版本中未启用的属性,则理论上您也可以在本地使用 SharePoint Online CSOM。
我的用户故事似乎非常简单:文件和文件夹的 CRUD 操作,checkout/overrive/download/checkout。
我的问题:我能否使用 Microsoft.SharePointOnline.CSOM 在 OnPremise 和在线服务器上满足我的简单用户故事?我找不到任何信息或内部部署和在线之间的一些比较映射 table。
如果需要任何其他信息,请告诉我。
此致,
SVG
根据以上评论,根据您的要求,您将能够对 OnPrem 和在线 CSOM 代码使用 Microsoft.SharePointOnline.CSOM
。因为它们都使用相同的 Microsoft.SharePoint.Client
命名空间。
一个关键区别在于您如何填充 ClientContext
对象的凭据 属性。下面的简单示例:
ClientContext cc = new ClientContext(siteUrl);
if (siteUrl.Contains("sharepoint.com"))
{
// spo email e.g. alex@groveale.onmicrosoft.com
cc.Credentials = new SharePointOnlineCredentials(username, password);
}
else
{
// domain login e.g. "groveale/alex"
cc.Credentials = new NetworkCredential(username, password);
}
如果您的 OnPrem URL 包含 sharepoint.com
,您将需要另一种方法来检测是在线还是 OnPrem。
注意 - 您需要确保服务器场上的客户端组件 SDK 是最新的。否则您可能会发现某些端点不可用。
各位同事大家好,
我开始编写一个 SharePoint 适配器,它应该适用于:支持 SharePoint 2016 On-Premise/Online 和 365。到目前为止,我了解到 Office365 使用 Online,因此它将支持的版本缩小到:SharePoint 2016内部部署和 SharePoint Online。
我发现每个受支持的版本有两个不同的 API:
SharePoint 2016 内部部署 API:SharePoint Server 2016 客户端组件 SDK https://www.microsoft.com/en-us/download/details.aspx?id=51679
SharePoint Online API:Microsoft.SharePointOnline.CSOM(最新版本 - 16.1.7018.1200) https://msdn.microsoft.com/en-us/library/office/jj193041.aspx https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/
根据资料(https://dev.office.com/blogs/using-correct-csom-version-for-sharepoint-customizations) 如果您可以保证您的代码不会触及本地版本中未启用的属性,则理论上您也可以在本地使用 SharePoint Online CSOM。 我的用户故事似乎非常简单:文件和文件夹的 CRUD 操作,checkout/overrive/download/checkout。
我的问题:我能否使用 Microsoft.SharePointOnline.CSOM 在 OnPremise 和在线服务器上满足我的简单用户故事?我找不到任何信息或内部部署和在线之间的一些比较映射 table。
如果需要任何其他信息,请告诉我。
此致, SVG
根据以上评论,根据您的要求,您将能够对 OnPrem 和在线 CSOM 代码使用 Microsoft.SharePointOnline.CSOM
。因为它们都使用相同的 Microsoft.SharePoint.Client
命名空间。
一个关键区别在于您如何填充 ClientContext
对象的凭据 属性。下面的简单示例:
ClientContext cc = new ClientContext(siteUrl);
if (siteUrl.Contains("sharepoint.com"))
{
// spo email e.g. alex@groveale.onmicrosoft.com
cc.Credentials = new SharePointOnlineCredentials(username, password);
}
else
{
// domain login e.g. "groveale/alex"
cc.Credentials = new NetworkCredential(username, password);
}
如果您的 OnPrem URL 包含 sharepoint.com
,您将需要另一种方法来检测是在线还是 OnPrem。
注意 - 您需要确保服务器场上的客户端组件 SDK 是最新的。否则您可能会发现某些端点不可用。