Ste*_* R. 5 c# sharepoint csom sharepoint-online .net-core
我是在线 Sharepoint 的新手,还没有自己的帐户,只有来自客户的用户名/密码。
需要构建一个从 Sharepoint 获取文件夹结构和档案的服务。然后允许上传/下载档案。
由于包
Microsoft.SharePointOnline.CSOM
与 .NET Core 不兼容,我使用的这个 github 解决方案似乎以同样的方式涵盖了主要功能:https : //github.com/OneBitSoftware/NetCore.CSOM
我认为到目前为止没有任何问题 - 但是当尝试使用连接时
SharePointOnlineCredentials
...我收到错误
PPCRL_REQUEST_E_PARTNER_HAS_NO_ASYMMETRIC_KEY
所以我想服务器端缺少一些帐户设置?还是我遵循了错误的方法?我在实现 OAuth 访问以获取不记名令牌时没有问题,但那是哪个 API,我如何为 Sharepoint 注册应用程序?
我对 API 和这个特定错误的研究还没有产生任何结果,所以我在这里寻求帮助。
获取 NuGet 包TTCUE.NetCore.SharepointOnline.CSOM .16.1.8029.1200。您还可以下载官方软件包 Microsoft.SharePointOnline.CSOM,但它会将错误的 dll 附加到您的项目,您需要根据此处不同答案中的链接更改它们 - https://rajujoseph.com/getting-net- core-and-sharepoint-csom-play-nice/
注意 - 您的 .NET Core 项目可以编译,但这并不意味着它可以在例如 linux 上运行。那些 CSOM dll 还没有完成,微软仍在研究它们。(很长一段时间......)
小智 2
检查下面的示例:
创建 .NET Core 控制台应用程序。
添加参考文献:Microsoft.SharePoint.Client.Portable.dll、Microsoft.SharePoint.Client.Runtime.Portable.dll和Microsoft.SharePoint.Client.Runtime.Windows.dll。
注意:如果项目引用了Microsoft.SharePoint.Client.dll和Microsoft.SharePoint.Client.Runtime.dll,请删除它们。
可以通过将 CSOM 库安装到另一个项目中,然后导航到文件目录中已安装的 nuget 包来访问这些引用:
c:\Users\user\\.nuget\packages\microsoft.sharepointonline.csom\\(version)\lib\netcore45
将以下代码添加到 .NET Core 2.0 控制台应用程序:
using System;
using Microsoft.SharePoint.Client;
namespace ConsoleApp1 {
class Program {
static void Main(string[] args) {
string targetSiteURL = @"https://xxx.sharepoint.com/sites/xxx";
var login = "xxx@xx.onmicrosoft.com";
var password = "xxx";
SharePointOnlineCredentials onlineCredentials = new SharePointOnlineCredentials(login, password);
ClientContext ctx = new ClientContext(targetSiteURL);
ctx.Credentials = onlineCredentials;
WebCreationInformation wci = new WebCreationInformation();
wci.Url = "Site1"; // This url is relative to the url provided in the context
wci.Title = "Site 1";
wci.UseSamePermissionsAsParentSite = true;
wci.WebTemplate = "STS#0";
wci.Language = 1033;
var newWeb = ctx.Web.Webs.Add(wci);
ctx.Load(newWeb, w => w.Title);
ctx.ExecuteQueryAsync();
Console.WriteLine("Web title:" + newWeb.Title);
Console.ReadKey();
}
}
}
Run Code Online (Sandbox Code Playgroud)
详细信息:让 .NET Core 和 SharePoint CSOM 发挥良好作用
| 归档时间: |
|
| 查看次数: |
12703 次 |
| 最近记录: |