Skip to content
Microsoft Graph SDK for Java
Branch: dev
Clone or download
Latest commit 6700cc7 Mar 18, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Remove checkboxes from issue template Mar 2, 2018
docs Add demo gifs to docs folder Feb 27, 2018
.gitignore Ignore file Feb 23, 2018
LICENSE Add license file to the repo Oct 22, 2018
build.gradle Checks key to be used present in Oct 18, 2018
gradlew.bat upgrade gradlew and gradlew.bat to match the 4.5.1 gradle distribution Mar 6, 2018
settings.gradle update artifact name from msgraph-sdk-java-prototype to msgraph-sdk-java Jan 16, 2018

Microsoft Graph SDK for Java


Get started with the Microsoft Graph SDK for Java by integrating the Microsoft Graph API into your Java application!

1. Installation

1.1 Install via Gradle

Add the repository and a compile dependency for microsoft-graph to your project's build.gradle:

repository {

dependency {
    // Include the sdk as a dependency

1.2 Install via Maven

Add the dependency in dependencies in pom.xml


1.3 Enable ProGuard (Android)

The nature of the Graph API is such that the SDK needs quite a large set of classes to describe its functionality. You need to ensure that ProGuard is enabled on your project. Otherwise, you will incur long build times for functionality that is not necessarily relevant to your particular application. If you are still hitting the 64K method limit, you can also enable multidexing.

2. Getting started

2.1 Register your application

Register your application by following the steps at Register your app with the Azure AD v2.0 endpoint.

2.2 Create an IAuthenticationProvider object

An instance of the GraphServiceClient class handles building requests, sending them to the Microsoft Graph API, and processing the responses. To create a new instance of this class, you need to provide an instance of IAuthenticationProvider, which can authenticate requests to Microsoft Graph.

For an example of authentication in a client application, see the MSGraph SDK Android MSA Auth for Android Adapter.

2.3 Get a GraphServiceClient object

After you have set the correct application ID and URL, you must get a GraphServiceClient object to make requests against the service. The SDK stores the account information for you, but when a user signs in for the first time, it invokes the UI to get the user's account information.

IGraphServiceClient graphClient = 

3. Make requests against the service

After you have a GraphServiceClient that is authenticated, you can begin making calls against the service. The requests against the service look like our REST API.

3.1 Get the user's drive

To retrieve the user's drive:

  .get(new ICallback<Drive>() {
     public void success(final Drive result) {
        System.out.println("Found Drive " +;
     // Handle failure case

For a general overview of how the SDK is designed, see overview.

4. Documentation

For more detailed documentation, see:

5. Issues

For known issues, see issues.

6. Contributions

The Microsoft Graph SDK is open for contribution. To contribute to this project, see Contributing.

Thanks to everyone who has already devoted time to improving the library:

Caitlin Bales

💬 💻 📖 👀 ⚠️

David Moten

🐛 💻 📖 🤔 👀 ⚠️

Michael Mainer

💬 🤔 👀

Linda Caputo


John Austin


Dmitry Pimenov


Jonathan Giles


Martin Sawicki


Louis Maresca

🤔 👀

Josef H.B. Schneider

🐛 💻

Deepak Agrawal


Nakul Sabharwal

💻 👀

This project follows the all-contributors specification. Contributions of any kind are welcome!

7. Supported Java versions

The Microsoft Graph SDK for Java library is supported at runtime for Java 7+ and Android API revision 15 and greater.

8. License

Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.

9. Third-party notices

Third-party notices

You can’t perform that action at this time.