SharePoint Online 認證Net客戶端物件

霖雨發表於2024-11-21

  前言

  最近,有小夥伴在做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();

  總結

  程式碼用起來其實灰常簡單,就是一個熟悉的過程,放在這裡給有需要的人吧。

相關文章