CSOM(客户端对象模型)是一种基于Web服务的SharePoint API,可以轻松远程访问数据和SharePoint的功能。
使用 net6 中的 CSOM 连接到本地 SharePoint 订阅版本
我有 SharePoint 订阅本地版本。 有没有办法使用 net6、csom 和 windows 身份验证连接到此实例? 我创建了控制台应用程序并安装了“nuget” 我有 SharePoint 订阅本地版本。 有没有办法使用 net6、csom 和 windows 身份验证连接到此实例? 我创建了控制台应用程序并安装了“nuget” <PackageReference Include="Microsoft.SharePointOnline.CSOM" Version="16.1.24009.12000" /> 然后我尝试了以下代码 using (var clientContext = new ClientContext("url")) { Web web = clientContext.Web; clientContext.Credentials = new NetworkCredential(@"userName", "Password"); //clientContext.Credentials = System.Net.CredentialCache.DefaultNetworkCredentials; //clientContext.Credentials = System.Net.CredentialCache.DefaultCredentials; clientContext.Load(web); clientContext.ExecuteQuery(); } 我也尝试使用注释行。每次我收到 401:未经授权。 是否可以将 CSOM 与 net6 一起使用? 我参考了MS文章。但它指的是带有 Azure Ad 的 SharePoint 在线版本。 谢谢你 我的工作如下 - using Microsoft.SharePoint.Client; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http.Headers; using System.Net.Http; using System.Security; using System.Security.Policy; using System.Security.Principal; using System.Text; using System.Text.Json; using System.Threading; using System.Threading.Tasks; using static System.Net.WebRequestMethods; namespace TestCoreConsoleApp { static class ProgramSP { private static string _siteUrl = "url of sp site"; private static HttpWebRequest _webReq = null; private static Task<string> tokenTask = null; static void Main(string[] args) { tokenTask = GetDigestValueAsync(new CancellationToken()); using (var clientContext = new ClientContext(_siteUrl)) { clientContext.ExecutingWebRequest += new EventHandler<WebRequestEventArgs>(AddWindowsAuthRequestHeader); Web web = clientContext.Web; clientContext.Load(web); clientContext.ExecuteQuery(); Console.WriteLine(web.Title); Console.ReadLine(); } } private static void AddWindowsAuthRequestHeader(object sender, WebRequestEventArgs e) { try { e.WebRequestExecutor.WebRequest.UseDefaultCredentials = true; e.WebRequestExecutor.RequestHeaders["X-RequestDigest"] = tokenTask.Result; } catch (Exception ex) { Console.WriteLine(ex.Message); Console.WriteLine(ex.StackTrace); } } private static SecureString ConvertToSecureString(string password) { SecureString securePassword = new SecureString(); foreach (char c in password) { securePassword.AppendChar(c); } return securePassword; } private static async Task<string> GetDigestValueAsync(CancellationToken cancellationToken) { var endpointUrl = $"{_siteUrl}/_api/contextinfo"; var handler = new HttpClientHandler { UseDefaultCredentials = true, PreAuthenticate = true }; var client = new HttpClient(handler); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await client.PostAsync(endpointUrl, null, cancellationToken); if (!response.IsSuccessStatusCode) throw new Exception($"Error fetching digest value: {response.ReasonPhrase}"); var responseContent = await response.Content.ReadAsStreamAsync(cancellationToken); var sharePointResp = await JsonSerializer.DeserializeAsync<DigestRoot>(responseContent, new JsonSerializerOptions { PropertyNameCaseInsensitive = true }, cancellationToken); return sharePointResp?.FormDigestValue ?? throw new Exception("Failed to extract FormDigestValue"); } public class DigestRoot { public string odatametadata { get; set; } public int FormDigestTimeoutSeconds { get; set; } public string FormDigestValue { get; set; } public string LibraryVersion { get; set; } public string SiteFullUrl { get; set; } public List<string> SupportedSchemaVersions { get; set; } public string WebFullUrl { get; set; } } } } 带有 nuget 包 - <PackageReference Include="Microsoft.SharePointOnline.CSOM" Version="16.1.24009.12000" />
在我的应用程序上,我使用 MSAL 包获取访问令牌,然后将其添加到上下文中,如下面的示例所示: 使用 var clientContext = new ClientContext(oSite.Url); 客户端上下文。
使用 ODBC 在数据库表和 SharePoint 在线列表之间同步。这样做的最佳方法
我们的数据库中有 5 个表,我们希望将这些表中的数据同步到 SharePoint 在线列表。所有修改仍然会发生在数据库表上,因此同步应该只
使用 .NET Standard 中的 CSOM 访问 SharePoint API
我正在尝试创建一个可以从 Office 365 访问 SharePoint 站点的 .NET 核心控制台应用程序。我正在使用 PnP 框架中推荐的身份验证管理器来尝试建立连接。我跟着...
尝试从 RecycleBin 恢复项目时,我得到“尝试的操作被禁止,因为它超过了列表视图阈值。”
我有以下 C# 代码,我在 SecondStage RecycleBin 中有大约 70 万个项目。任何帮助都会非常可观。 使用系统诊断; 使用 Microsoft.Extensions.Logging; 使用微软。
我正在使用 CSOM 从“访问请求”列表中检索项目。 (https://sharepointSite.sharepoint.com/sites/siteName/Access%20Requests/pendingreq.aspx) 我想弄清楚所有的可能性......
我有一个 .NET Core 3.1 遗留应用程序(ASP.NET MVC,作为 Web 应用程序托管在 Azure 上)。 我希望为其添加一项新功能,将文件直接发布到 SharePoint 365 库。 此外,我还有...
SharePoint CSOM KeywordQuery - 字段或属性“QueryText”不存在
我正在尝试搜索 SharePoint 中保存的文件和文件夹以查找用户输入的短语,但始终出现以下异常: Microsoft.SharePoint.Client.ServerException HResult=0x801315...
SharePoint Office365使用CSOM登录问题
我试图通过CSOM从我的Office365 sharepoint门户连接和检索一个列表。在jquery的document.ready函数中,我正在调用一个ajax调用。我正在使用下面的代码,其工作......
使用C#从SharePoint(CSOM)中下载一个特定的文件。
我正在开发一个基于C#的应用程序,需要用CSOM对一个特定的文件从到Sharepoint进行下载、签出、上传、签入。所以我这里有两个问题。首先,在下载时,是否...
我的脚本如下:-函数getColorValue(aId,atitle){试试{var clientContext = new SP.ClientContext(); var oWebsite = clientContext.get_web(); var oList = ...
带有用户信息Sharepoint Client C#的添加/更新项目
使用Microsoft.Sharepoint.CLient和.Runtime.dll版本16.0.0.0,我有一个项目列表(丢失的包),其中包含跟踪号(标题),描述(currier),MailTo(类型:人,显示字段:E-邮件)我也是...
Sharepoint Online Csom:通过分页响应从文档库中获取根文件夹
我已经创建了一个C#控制台应用程序,该应用程序加载到文档库中,在此文档库的根目录中,有我们的客户文件夹。我通过两个简单地通过...
我正在使用Microsoft.SharePoint.Client.Folder.Folders来访问包含5000多个子文件夹的文件夹。我希望收到一条错误消息,因为“尝试执行的操作被禁止,因为它是......>
如何使用C#向SharePoint Online中的多个用户发送电子邮件
我正在编写一个代码,我需要向在相应SharePoint网站中活动的所有用户发送电子邮件。所有活动用户已存储在阵列/列表集合中。但是我无法...
我们正在使用SharePoint客户端对象模型(CSOM)和REST / OData终结点来检索/管理共享点上的数据。无论如何,是否可以获得有关在文件上执行MOVE的用户的信息(对于...
没有通过JSOM PS.ProjectContext get_projects获得任何项目
在Microsoft Project Server Web应用程序中,我试图使用JSOM获取项目列表。我正在这些示例中的代码:https://docs.microsoft.com/zh-cn/office/client-developer/project / ...
如何使用Powershell CSOM向共享点在线站点添加用户?
我具有以下Powershell CSOM代码,可以将用户添加到共享点在线站点。我不是试图将其添加到任何组,而是要明确授予他对该站点的权限。但是,我得到...
是否可以从CSOM的复制链接中获取某项?因此,从这种格式的文件夹和文件中获取项目。 https://xx.sharepoint.com/:x:/ r / sites / xxx / Shared%20Documents /%E2%80%99Sites-xx-xx -...
读取SharePoint Online跨站点集合中的SharePoint列表
我有一个功能可以在提供程序托管的应用程序中运行(使用C#编写并使用CSOM),并可以访问SharePointOnline租户上的列表。只要I ...