⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
This repository and library is not being maintained anymore, for any Android project, use the Java SDK instead.
Integrate the Microsoft Graph API into your Android application!
Add the JCenter repository and a compile dependency for msgraph-sdk-android
to your project's build.gradle
repository {
jcenter()
}
dependency {
// Include the sdk as a dependency
compile('com.microsoft.graph:msgraph-sdk-android:1.7.0')
// Include the gson dependency
compile('com.google.code.gson:gson:2.8.5')
}
The nature of the Graph API is such that the SDK needs quite a large set of classes to describe its functionality. You will need to ensure that ProGuard is enabled on your project. Otherwise, you will incur long build times for functionality that is not necessary relevant to your particular application. If you are still hitting the 64k method limit, you can also enable multidexing.
Register your application by following these steps.
An instance of the GraphServiceClient class handles building requests,
sending them to 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.
Once you have set the correct application Id and url, you must get a GraphServiceClient object to make requests against the service. The SDK will store the account information for you, but when a user logs on for the first time, it will invoke UI to get the user's account information.
final IClientConfig mClientConfig = DefaultClientConfig
.createWithAuthenticationProvider(mAuthenticationProvider);
final IGraphServiceClient mClient = new GraphServiceClient
.Builder()
.fromConfig(mClientConfig)
.buildClient();
Once you have an GraphServiceClient that is authenticated you can begin making calls against the service. The requests against the service look like our REST API.
To retrieve a user's drive:
graphClient
.getMe()
.getDrive()
.buildRequest()
.get(new ICallback<Drive>() {
@Override
public void success(final Drive result) {
final String msg = "Found Drive " + result.id;
Toast.makeText(getActivity(), msg, Toast.LENGTH_SHORT)
.show();
}
...
// Handle failure case
});
For a general overview of how the SDK is designed, see overview.
For a more detailed documentation see:
- Overview
- Extensibility
- Handling Open Types, PATCH support with
null
values - Collections
- Errors
- Making Custom Requests
- Known Issues
- Contributions
For known issues, see issues.
The Microsoft Graph SDK is open for contribution. Please read how to contribute to this project here.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
The Microsoft Graph SDK for Android library is supported at runtime for Android API revision 15 and greater. To build the sdk you need to install Android API revision 23 or greater.
Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the MIT license.