SharePoint Online 认证Net客户端对象

  前言

  最近,有小伙伴在做Net开发,和SharePoint Online有些API的交互,然后,询问如何使用Azure App做认证。

  正文

  申请Azure App的步骤我就略过了,太简单了,这里介绍下如何在代码段做认证。

  1.引用我们需要的程序集

using PnP.Framework;
using Microsoft.SharePoint.Client;

  2.客户端认证的代码,其实bing上可以找到,虽然不太容易,而且相似的代码段比较多

public ClientContext CreateSPCredentials(string siteUrl,string appId, string appSecret)
{
    try
    {
        AuthenticationManager repositoryAuthenticationManager = new AuthenticationManager();
        ClientContext clientContext = repositoryAuthenticationManager.GetACSAppOnlyContext(siteUrl, appId, appSecret);
        return clientContext;
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.Message.ToString());
        Console.WriteLine(ex.StackTrace);
        return null;
    }
}

  3.如何使用验证后的对象

ClientContext clientContext = CreateSPCredentials("siteUrl", "appId", "secret");
Web web = clientContext.Web;

Microsoft.SharePoint.Client.List list = web.GetListByUrl("listurl");
ListItemCreationInformation itemInfo = new ListItemCreationInformation();
Microsoft.SharePoint.Client.ListItem item = list.AddItem(itemInfo);
item["Title"] = "Title";
item.Update();

clientContext.ExecuteQuery();

  总结

  代码用起来其实灰常简单,就是一个熟悉的过程,放在这里给有需要的人吧。

posted @ 2024-11-21 22:24  霖雨  阅读(10)  评论(2编辑  收藏  举报