Integrate the OneDrive API into your C# project!
The OneDrive SDK is built as a Portable Class Library and targets the following frameworks:
- .NET 4.5.1
- .NET for Windows Store apps
- Windows Phone 8.1 and higher
Azure Active Directory authentication is available for:
- Windows Forms apps
- UWP apps
- Windows 8.1 apps
To install the OneDrive SDK via NuGet
- Search for
Microsoft.OneDriveSDK
in the NuGet Library, or - Type
Install-Package Microsoft.OneDriveSDK
into the Package Manager Console.
Register your application for OneDrive by following these steps.
Your app must requests permissions in order to access a user's OneDrive. To do this, specify your app ID and scopes, or permission level. For more information, see Authentication scopes.
You must get a OneDriveClient object in order for your app to make requests to the service, but first you must have an instance of an object that implements IAuthenticationProvider
in Microsoft.Graph.Core.
An example of such an imlementation can be found MSA Auth Adapter repository. You should create the IAuthenticationProvider
, authenticate
using AuthenticateUserAsync()
, and then create a OneDriveClient
using the auth provider as a constructor argument. You must also provide the ClientId of your app, the return URL you have specified for your app,
and the base URL for the API. Below is a sample of that pattern for authentication on the OneDrive service.
var msaAuthProvider = new myAuthProvider(
myClientId,
"https://login.live.com/oauth20_desktop.srf",
{ "onedrive.readonly", "wl.signin" });
await msaAuthProvider.AuthenticateUserAsync();
var oneDriveClient = new OneDriveClient("https://api.onedrive.com/v1.0", msaAuthProvider);
After that, you will be able to use the oneDriveClient
object to make calls to the service. For more information, see Authenticate your C# app for OneDrive.
Once you have a OneDriveClient that is authenticated you can begin to make calls against the service. The requests against the service look like OneDrive's REST API.
To retrieve a user's drive:
var drive = await oneDriveClient
.Drive
.Request()
.GetAsync();
GetAsync
will return a Drive
object on success and throw a Microsoft.Graph.ServiceException
on error.
To get the current user's root folder of their drive:
var rootItem = await oneDriveClient
.Drive
.Root
.Request()
.GetAsync();
GetAsync
will return an Item
object on success and throw a Microsoft.Graph.ServiceException
on error.
For a general overview of how the SDK is designed, see overview.
The following sample applications are also available:
- OneDrive API Browser - Windows Forms app
- OneDrive Photo Browser - Windows Universal app
- OneDrive Webhooks - ASP.NET MVC app
To run the OneDrivePhotoBrowser sample app your machine will need to be configured for UWP app development and the project must be associated with the Windows Store.
To view or log issues, see issues.
- NuGet Package: https://www.nuget.org/packages/Microsoft.OneDriveSDK
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.