# C# 呼叫 Graph API 建立 List Items 在Azure Portal 的Azure Active Directory->應用程式註冊->選要用的應用程式或是新增註冊 接著,點API權限->新增權限->Microsoft Graph->應用程式權限->Sites->Sites.ReadWrite.All 若還沒設過密碼在憑證及秘密新增用戶端密碼這就是等下會用到的Client Secret 接著,在專案中[安裝Graph SDK](https://docs.microsoft.com/en-us/graph/sdks/sdk-installation),可用NuGet Package Manager Console輸入指令 ``` Install-Package Microsoft.Graph Install-Package Microsoft.Graph.Auth -IncludePrerelease ``` [認證方式](https://docs.microsoft.com/en-us/graph/sdks/choose-authentication-providers?tabs=CS#client-credentials-provider)選擇用Client Credential,輸入這段程式碼 ```csharp= IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder .Create(clientID) .WithTenantId(tenantID) .WithClientSecret(clientSecret) .Build(); ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication); ``` ClientID和TenantID可在剛剛的應用程式的概觀中找到 最後,跟著[範例](https://docs.microsoft.com/en-us/graph/api/listitem-create?view=graph-rest-1.0&tabs=csharp)貼上這段程式碼 ```+= GraphServiceClient graphClient = new GraphServiceClient( authProvider ); var listItem = new ListItem { Fields = new FieldValueSet { AdditionalData = new Dictionary<string, object>() { {"標題", "內容"}, {"標題", "內容"}, {"標題", "內容"} } } }; await graphClient.Sites["site-id"].Lists["list-id"].Items .Request() .AddAsync(listItem); ``` [SiteID](https://docs.microsoft.com/en-us/graph/api/resources/sharepoint?view=graph-rest-1.0#note-for-existing-sharepoint-developers) 為一組由hostname, siteCollection (SPSite) ID,root site (SPWeb) ID組成的唯一值 ListID為欲新增Item的列表名稱 ###### tags: `.NetCore`