https://github.com/microsoftgraph/msgraph-beta-sdk-java
Microsoft Graph Beta Java SDK
https://github.com/microsoftgraph/msgraph-beta-sdk-java
devxeng java microsoft-graph sdk
Last synced: 6 months ago
JSON representation
Microsoft Graph Beta Java SDK
- Host: GitHub
- URL: https://github.com/microsoftgraph/msgraph-beta-sdk-java
- Owner: microsoftgraph
- License: mit
- Created: 2019-08-26T21:59:24.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-07-04T12:25:08.000Z (7 months ago)
- Last Synced: 2025-07-06T11:39:03.234Z (7 months ago)
- Topics: devxeng, java, microsoft-graph, sdk
- Language: Java
- Homepage: https://docs.microsoft.com/en-us/graph/sdks/use-beta?tabs=Java
- Size: 188 MB
- Stars: 26
- Watchers: 22
- Forks: 10
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: .github/CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
README
# Microsoft Graph SDK for Java
## Version 6.1.0 now Generally Available!
[](https://search.maven.org/artifact/com.microsoft.graph/microsoft-graph-beta)
Get started with the Microsoft Graph SDK for Java by integrating the [Microsoft Graph API](https://developer.microsoft.com/en-us/graph/get-started/java) into your Java application!
> **Note:** this SDK allows you to build applications using the [beta](https://docs.microsoft.com/en-us/graph/use-the-api#version) of Microsoft Graph. If you want to use the production supported Microsoft Graph APIs under v1.0, use our [v1.0 SDK](https://github.com/microsoftgraph/msgraph-sdk-java) instead.
## 1. Installation
### 1.1 Install via Gradle
Add the repository and a compile dependency for `microsoft-graph-beta` to your project's `build.gradle`:
```Groovy
repositories {
mavenCentral()
}
dependencies {
// Include the sdk as a dependency
// x-release-please-start-version
implementation 'com.microsoft.graph:microsoft-graph-beta:6.48.0'
// x-release-please-end
// This dependency is only needed if you are using the TokenCrendentialAuthProvider
implementation 'com.azure:azure-identity:1.11.0'
}
```
### 1.2 Install via Maven
Add the dependency in `dependencies` in pom.xml
```xml
com.microsoft.graph
microsoft-graph-beta
6.48.0
com.azure
azure-identity
1.11.0
```
>**Note:** if the `repositories` node doesn't exist, add it in `project`. For more information about the maven repositories configuration, [refer to this documentation](https://maven.apache.org/guides/mini/guide-multiple-repositories.html).
### 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](https://developer.android.com/studio/build/shrink-code.html) 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](https://developer.android.com/studio/build/multidex.html). Checkout the [recommended rules](./docs/proguard-rules.txt).
## 2. Getting started
### 2.1 Register your application
Register your application by following the steps at [Register your app with the Microsoft Identity Platform](https://docs.microsoft.com/graph/auth-register-app-v2).
### 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 `AuthenticationProvider`, which can authenticate requests to Microsoft Graph.
For an example of how to get an authentication provider, see [choose a Microsoft Graph authentication provider](https://docs.microsoft.com/graph/sdks/choose-authentication-providers?tabs=Java).
### 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.
```java
final AzureIdentityAuthenticationProvider authenticationProvider =
new AzureIdentityAuthenticationProvider(credential, null, scopes);
GraphServiceClient graphClient = new GraphServiceClient(authenticationProvider)
//Alternatively
GraphServiceClient graphClient = new GraphServiceClient(credential, scopes);
```
## 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](https://developer.microsoft.com/en-us/graph/docs/concepts/overview).
### 3.1 Get the user info
To retrieve the user's information:
```java
User me = graphClient.me().get();
System.out.printf("Hello %s, your ID is %s%n", me.getDisplayName(), me.getId());
```
## 4. Documentation
For more detailed documentation, see:
* [Overview](https://docs.microsoft.com/graph/overview)
* [Collections](https://docs.microsoft.com/graph/sdks/paging)
* [Making requests](https://docs.microsoft.com/graph/sdks/create-requests)
* [Known issues](https://github.com/MicrosoftGraph/msgraph-sdk-java/issues)
* [Contributions](https://github.com/microsoftgraph/msgraph-beta-sdk-java/blob/master/CONTRIBUTING.md)
## 5. Issues
For known issues, see [issues](https://github.com/MicrosoftGraph/msgraph-beta-sdk-java/issues).
## 6. Contributions
The Microsoft Graph SDK is open for contribution. To contribute to this project, see [Contributing](https://github.com/microsoftgraph/msgraph-beta-sdk-java/blob/master/CONTRIBUTING.md).
## 7. Supported Java versions
The Microsoft Graph beta SDK for Java library is supported at runtime for Java 8+ and [Android API revision 26](http://source.android.com/source/build-numbers.html) and greater.
## 8. License
Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the [MIT license](LICENSE).
## 9. Third-party notices
[Third-party notices](THIRD%20PARTY%20NOTICES)