Skip to main content
.NETFramework4.6.2net6.0net6.0-android31.0net6.0-ios16.1net6.0-maccatalyst16.1net6.0-macos13.0

Microsoft Graph Core Client Library implements core functionality used by Microsoft Graph client libraries.

Published
Mar 28, 2024
2y ago
Total Downloads
276.2M
276,165,515

Install

dotnet add package Microsoft.Graph.Core --version 3.1.10
ProductVersions
.NET
net6.0net6.0-android31.0net6.0-ios16.1net6.0-maccatalyst16.1net6.0-macos13.0net6.0-windows7.0
.NET Standard
netstandard2.0
Other
.NETFramework4.6.2

README

Microsoft Graph .NET Core Client Library

Build Status NuGet Version

Integrate the Microsoft Graph API into your .NET project!

The Microsoft Graph .NET Core Client Library contains core classes and interfaces used by Microsoft.Graph Client Library to send native HTTP requests to Microsoft Graph API. The latest core client library targets .NetStandard 2.0.

Installation via NuGet

To install the client library via NuGet:

  • Search for Microsoft.Graph.Core in the NuGet Library, or
  • Type Install-Package Microsoft.Graph.Core into the Package Manager Console.

Getting started

1. Register your application

Register your application to use Microsoft Graph API by following the steps at Register your application with the Microsoft identity platform.

2. Authenticate for the Microsoft Graph service

The Microsoft Graph .NET Client Library supports the use of TokenCredential classes in the Azure.Identity library.

You can read more about available Credential classes here and examples on how to quickly setup TokenCredential instances can be found here.

The recommended library for authenticating against Microsoft Identity (Azure AD) is MSAL.

For an example of authenticating a UWP app using the V2 Authentication Endpoint, see the Microsoft Graph UWP Connect Library.

3. Create a HttpClient object with an authentication provider

You can create an instance of HttpClient that is pre-configured for making requests to Microsoft Graph APIs using GraphClientFactory.

HttpClient httpClient = GraphClientFactory.Create( version: "beta");

For more information on initializing a client instance, see the library overview

4. Make requests to the graph

Once you have an authenticated HttpClient, you can begin to make calls to the service. The requests to the service follows our REST API syntax.

For example, to retrieve a user's default drive:

HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, "me/drive");
HttpResponseMessage response = await httpClient.SendAsync(requestMessage);
if (response.IsSuccessStatusCode)
{
    string jsonResponse = await response.Content.ReadAsStringAsync();
}

To get the current user's root folder of their default drive:

HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Get, "me/drive/root");
HttpResponseMessage response = await httpClient.SendAsync(requestMessage);
if (response.IsSuccessStatusCode)
{
    string jsonResponse = await response.Content.ReadAsStringAsync();
}

Documentation and resources

Notes

Install System.Runtime.InteropServices.RuntimeInformation before you install Microsoft.Graph >=1.3 if you are having an issue updating the package for a Xamarin solution. You may need to updated references to Microsoft.NETCore.UniversalWindowsPlatform to >=5.2.2 as well.

Issues

To view or log issues, see issues.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

Other resources

Building library locally

If you are looking to build the library locally for the purposes of contributing code or running tests, you will need to:

  • Have the .NET Core SDK (> 1.0) installed
  • Run dotnet restore from the command line in your package directory
  • Run nuget restore and msbuild from CLI or run Build from Visual Studio to restore Nuget packages and build the project

Run dotnet build -p:IncludeMauiTargets=true if you wish to build the MAUI targets for the projects as well.

License

Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license. See Third Party Notices for information on the packages referenced via NuGet.

Changes from Previous Version

No structural changes between v3.1.9 and v3.1.10.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

No SPDX license expression is published. Review the license text and your organisation's policy before redistribution.Compatibility metadata lists 8 target frameworks; confirm the exact target used by your application.The published metadata declares 68 direct dependency entries across framework groups. Inspect the resolved dependency graph for your target framework.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.