We have a SharePoint online site collection. and we want to develop an ASP.NET Core MVC web application which integrate with SharePoint online lists and libraries. The asp.net core MVC web application will authenticate the users using Office 365 credentials. but we have the following questions:-

  1. Can we define some parts of the integration to run using the login user while other to be done with elevated privileges ?

  2. i think we can integrate either using REST API or using CSOM ? so what are the main differences between those 2 approves?


1 Answer 1


Using an Azure AD app registration, you can use a mix of delegated and application permissions.

You would use delegated permissions for actions on behalf of the user and application permissions for actions in app-only context.

Introduction to permissions and consent

Granting access via Azure AD App-Only

The main difference between CSOM and the REST API is that CSOM can be added to your application via a .NET library, where as the REST API requires you to make the HTTP calls via a HTTP client. It's recommended that you use the Microsoft Graph API wherever possible and then use either the SharePoint REST API/CSOM where the Graph does not have the functionality required.

  • so can i have the same app which mix delegated and application permissions ? or i will need to create 2 apps? second question, why Graph API is preferred over SharePoint api? thanks
    – John John
    Dec 8, 2022 at 16:14
  • 1
    yes, you can use both API permissions in the same application. Microsoft recommend using the Graph API over the SharePoint REST API because it's less likely to be throttled and is their preferred method of consuming Microsoft 365 services. Dec 8, 2022 at 16:42
  • ok thanks a lot for the info
    – John John
    Dec 8, 2022 at 16:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.