csom 相关问题

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" />

回答 1 投票 0

如何使用 CSOM 运行长任务时管理可能的令牌过期

在我的应用程序上,我使用 MSAL 包获取访问令牌,然后将其添加到上下文中,如下面的示例所示: 使用 var clientContext = new ClientContext(oSite.Url); 客户端上下文。

回答 1 投票 0

使用 ODBC 在数据库表和 SharePoint 在线列表之间同步。这样做的最佳方法

我们的数据库中有 5 个表,我们希望将这些表中的数据同步到 SharePoint 在线列表。所有修改仍然会发生在数据库表上,因此同步应该只

回答 2 投票 0

使用 .NET Standard 中的 CSOM 访问 SharePoint API

我正在尝试创建一个可以从 Office 365 访问 SharePoint 站点的 .NET 核心控制台应用程序。我正在使用 PnP 框架中推荐的身份验证管理器来尝试建立连接。我跟着...

回答 0 投票 0

尝试从 RecycleBin 恢复项目时,我得到“尝试的操作被禁止,因为它超过了列表视图阈值。”

我有以下 C# 代码,我在 SecondStage RecycleBin 中有大约 70 万个项目。任何帮助都会非常可观。 使用系统诊断; 使用 Microsoft.Extensions.Logging; 使用微软。

回答 0 投票 0

SharePoint 在线访问请求状态代码

我正在使用 CSOM 从“访问请求”列表中检索项目。 (https://sharepointSite.sharepoint.com/sites/siteName/Access%20Requests/pendingreq.aspx) 我想弄清楚所有的可能性......

回答 3 投票 0

使用 C# 将文件上传到 Sharepoint

我有一个 .NET Core 3.1 遗留应用程序(ASP.NET MVC,作为 Web 应用程序托管在 Azure 上)。 我希望为其添加一项新功能,将文件直接发布到 SharePoint 365 库。 此外,我还有...

回答 0 投票 0

SharePoint CSOM KeywordQuery - 字段或属性“QueryText”不存在

我正在尝试搜索 SharePoint 中保存的文件和文件夹以查找用户输入的短语,但始终出现以下异常: Microsoft.SharePoint.Client.ServerException HResult=0x801315...

回答 1 投票 0

SharePoint Office365使用CSOM登录问题

我试图通过CSOM从我的Office365 sharepoint门户连接和检索一个列表。在jquery的document.ready函数中,我正在调用一个ajax调用。我正在使用下面的代码,其工作......

回答 1 投票 2

使用C#从SharePoint(CSOM)中下载一个特定的文件。

我正在开发一个基于C#的应用程序,需要用CSOM对一个特定的文件从到Sharepoint进行下载、签出、上传、签入。所以我这里有两个问题。首先,在下载时,是否...

回答 1 投票 0

保存日历项目后调用Javascript

我的脚本如下:-函数getColorValue(aId,atitle){试试{var clientContext = new SP.ClientContext(); var oWebsite = clientContext.get_web(); var oList = ...

回答 3 投票 2

带有用户信息Sharepoint Client C#的添加/更新项目

使用Microsoft.Sharepoint.CLient和.Runtime.dll版本16.0.0.0,我有一个项目列表(丢失的包),其中包含跟踪号(标题),描述(currier),MailTo(类型:人,显示字段:E-邮件)我也是...

回答 1 投票 0

Sharepoint Online Csom:通过分页响应从文档库中获取根文件夹

我已经创建了一个C#控制台应用程序,该应用程序加载到文档库中,在此文档库的根目录中,有我们的客户文件夹。我通过两个简单地通过...

回答 1 投票 0

SharePoint CSOM API不会引发阈值异常

我正在使用Microsoft.SharePoint.Client.Folder.Folders来访问包含5000多个子文件夹的文件夹。我希望收到一条错误消息,因为“尝试执行的操作被禁止,因为它是......>

回答 1 投票 0

如何使用C#向SharePoint Online中的多个用户发送电子邮件

我正在编写一个代码,我需要向在相应SharePoint网站中活动的所有用户发送电子邮件。所有活动用户已存储在阵列/列表集合中。但是我无法...

回答 1 投票 0

让用户在Sharepoint CSOM中执行操作

我们正在使用SharePoint客户端对象模型(CSOM)和REST / OData终结点来检索/管理共享点上的数据。无论如何,是否可以获得有关在文件上执行MOVE的用户的信息(对于...

回答 1 投票 1

没有通过JSOM PS.ProjectContext get_projects获得任何项目

在Microsoft Project Server Web应用程序中,我试图使用JSOM获取项目列表。我正在这些示例中的代码:https://docs.microsoft.com/zh-cn/office/client-developer/project / ...

回答 1 投票 0

如何使用Powershell CSOM向共享点在线站点添加用户?

我具有以下Powershell CSOM代码,可以将用户添加到共享点在线站点。我不是试图将其添加到任何组,而是要明确授予他对该站点的权限。但是,我得到...

回答 1 投票 0

从复制链接获取项目

是否可以从CSOM的复制链接中获取某项?因此,从这种格式的文件夹和文件中获取项目。 https://xx.sharepoint.com/:x:/ r / sites / xxx / Shared%20Documents /%E2%80%99Sites-xx-xx -...

回答 1 投票 0

读取SharePoint Online跨站点集合中的SharePoint列表

我有一个功能可以在提供程序托管的应用程序中运行(使用C#编写并使用CSOM),并可以访问SharePointOnline租户上的列表。只要I ...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.