在 asp.net C# 中使用客户端 ID 和客户端密钥访问 Sharepoint 列表

2024-03-18

目前,我可以使用用户 ID 和密码访问共享点列表,如下所示。但想了解如何使用客户端 ID 和客户端密码访问列表?

string siteUrl = "https://xyz.sharepoint.com/sites/MyList/";
ClientContext clientContext = new ClientContext(siteUrl);
string username = ConfigurationManager.AppSettings["username"];
string password = ConfigurationManager.AppSettings["password"];
System.Security.SecureString passWord = new System.Security.SecureString();
foreach (char c in password.ToCharArray()) 
{    
    passWord.AppendChar(c);
}

clientContext.Credentials = new SharePointOnlineCredentials(username, passWord);
Web oWebsite = clientContext.Web;
ListCollection collList = oWebsite.Lists;
clientContext.Load(collList);
clientContext.ExecuteQuery();

您可以使用GetAppOnlyAuthenticatedContextPnP CSOM 核心的方法。

之后您可以使用如下代码:

string siteUrl = "https://xyz.sharepoint.com/sites/MyList/";
string clientId = "<client-id>";
string clientSecret = "<client-secret>";

using (var clientContext = new AuthenticationManager().GetAppOnlyAuthenticatedContext(siteUrl,clientId,clientSecret))
{       
    Web oWebsite = clientContext.Web;
    ListCollection collList = oWebsite.Lists;
    clientContext.Load(collList);
    clientContext.ExecuteQuery();
}

要添加 PnP CSOM 核心,请转到项目参考 > 管理 nuget 包。

添加 SharePointPnPCoreOnline 包。

参考 -使用 PnP 身份验证管理器对 SharePoint 进行身份验证 http://www.ktskumar.com/2016/05/authenticate-sharepoint-using-pnp-authentication-manager/

在公共网络上公开您的 SharePoint Online 信息 https://ypcode.wordpress.com/2017/05/11/expose-on-public-web-your-sharepoint-online-information/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 asp.net C# 中使用客户端 ID 和客户端密钥访问 Sharepoint 列表 的相关文章

随机推荐

  • 如何在 CSV 文件中写入多行?

    我怎样才能创建一个 csv文件 在这个 csv我想写数据包的信息 这是我的代码 https www tcpdump org sniffex c https www tcpdump org sniffex c我想写入我的文件 csv一些印刷品
  • Prolog 中不带双精度的列表的所有组合

    有没有一种简单的方法可以获取列表的所有组合而无需双精度 没有双打我的意思是也没有彼此的排列 所以不行 a b c and c a b or c b a 因此对于输入 a b c 输出将是 a b c a b a c b c a b c 我只
  • 是否可以在不知道 Firebase 数据库中的两个自动生成的键内获取值?

    我在每个自动生成的键下添加了一些值 并添加了与每个键对应的子项 示例学生 然后我添加了自动生成的密钥与这个孩子 学生 和值 现在的问题是我如何从这个序列中获取值 我正在为学生使用模型课程 可以吗 要读取此数据 然后在您的应用程序中处理它 您
  • 如何删除名称以点(“.”)结尾的文件夹?

    我收到了一些由恶意软件创建的文件夹 其名称以点结尾 例如C a or C b etc 我找到了一个可以使用命令删除此类文件夹的解决方案rd q s C a 但如果我调用 win APIRemoveDirectory http msdn mi
  • 第一次加载页面时出现“无法在框架中查看此内容”错误

    我开发了一个搜索表单 托管在我公司的本地服务器 iis net core 网站 中 该网站是托管在另一台服务器 apache wamp 上的 Wordpress 该服务器也在公司内 两者都有不同的公共IP 但两者都托管在同一域的子域下 比如
  • Rails 每个循环每 6 个项目插入标签?

    我有 X 个图像对象 需要在视图中循环遍历 并希望每 6 个对象左右创建一个新的 div 对于画廊 我看过cycle 但它似乎改变了所有其他记录 有谁知道每 6 次向视图中插入代码的方法吗 我可能可以用嵌套循环来做到这一点 但我对这个有点难
  • C++ 输入运算符重载

    我正在尝试重载我创建的 UserLogin 类上的输入运算符 不会引发编译时错误 但也不会设置值 一切都在运行 但 ul 的内容仍然存在 字符串 id 是 sally 登录时间为00 00 注销时间为 00 00 入口点 include
  • 如何使 videojs 标记可滑动或可移动

    我想移动我的markers每当它随着搜索一起滑动时 我希望我的标记准确无误slidable as jqueryui 滑块 问题 我想要我的markers 两者 一样可滑动jqueryui range滑块如以下示例中的视频所示 var pla
  • Retrofit+OkHttp 发送 GET 请求时可以,但发送 POST 时给出 SocketTimetout

    我从 Retrofit 开始 可以成功执行 GET 请求 但是当我尝试执行 POST 或 PUT 请求时 出现 SocketTimeOut 异常 我根据以下内容将 OkHttp 添加到我的 libs 文件夹中这个问题 https stack
  • @JsonInclude(Ininclude.NON_NULL) 未按预期工作

    我已经添加了 JsonInclude Include NON NULL Response 类上的注释 JsonInclude Include NON NULL public class Response JsonProperty priva
  • Nuxt - 将脚本添加到头部和主体

    我正在尝试在我的 Nuxt 应用程序中使用此脚本 但不知道如何操作 在基本的 HTML 文件中 它工作得很好 这是代码
  • Hibernate Envers 修订信息(更改列表)

    我想在我的项目中添加修订更改列表 单击信息图标 例如 Revision X added fieldA entry modified fieladB from B to BB removed fieldC entry 哪个是最好的方法 ps
  • Xcode 连接到 MS SQL 数据库

    我有一个现有数据库已在远程启动并运行MS SQL server 并且我希望能够与该数据库进行通信和交互Xcode 我正在写一份申请OS X in Swift以及应用程序应使用的数据存储在该远程数据库中 问题是我好像找不到Swift可以连接到
  • 如何传递 bquote 的符号字符串以在 ggplot 中求值?

    我在函数中创建的 ggplot 的轴标签有所不同 有些标签有上标 下标 而另一些则没有 例子 m data lt data frame x runif 10 y runif 10 x labs lt c rain mm light W m
  • array_walk 匿名函数

    有没有办法让我用匿名函数来获取这个数组来设置值 url array dog cat fish array walk url function value key url key str replace dog value echo pre
  • Azure CLI 运行命令使用参数调用 RunPowerShellScript

    我一直在尝试在 Azure VM 上运行一个脚本 该脚本需要像这样传递参数 az vm run command invoke g
  • scikit learn:与 GridSearchCV 兼容的自定义分类器

    我已经实现了自己的分类器 现在我想对其运行网格搜索 但出现以下错误 estimator fit X train y train fit params TypeError fit takes 2 positional arguments bu
  • ASP>net MVC 可重用部分

    在 winforms 和 ASP net 中使用 net 几年后 我现在开始进入 MVC 我知道有点晚了 对我来说 一个主要的困惑是可重用 组件 的概念 类似于网络表单中用户控件的概念 例如 我希望在我的网站的会员区域内有许多 小部件 其中
  • OpenCL 内置函数“选择”

    我不清楚内置 OpenCL 函数的目的是什么select 有人可以澄清一下吗 来自 OpenCL 规范 功能选择 基因型a 基因型b 基因型c 返回 对于向量类型的每个分量 结果 i 如果设置了 c i 的 MSB b i a i 在这种情
  • 在 asp.net C# 中使用客户端 ID 和客户端密钥访问 Sharepoint 列表

    目前 我可以使用用户 ID 和密码访问共享点列表 如下所示 但想了解如何使用客户端 ID 和客户端密码访问列表 string siteUrl https xyz sharepoint com sites MyList ClientConte