Get drive

Namespace: microsoft.graph

Important

APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.

Retrieve the properties and relationships of a drive resource.

A drive is the top-level container for a file system, such as OneDrive or SharePoint document libraries.

This API is available in the following national cloud deployments.

Global service US Government L4 US Government L5 (DOD) China operated by 21Vianet

Permissions

Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.

Permission type Least privileged permissions Higher privileged permissions
Delegated (work or school account) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All, Sites.Read.All, Sites.ReadWrite.All, User.Read
Delegated (personal Microsoft account) Files.Read Files.Read.All, Files.ReadWrite, Files.ReadWrite.All
Application Not supported. Not supported.

HTTP request

Get the current OneDrive of a user

The signed-in user's drive (when using delegated authentication) can be accessed from the me singleton.

If a user has a license for OneDrive but their OneDrive isn't set up yet, this request automatically provisions the user's drive, when using delegated authentication.

GET /me/drive

Get the OneDrive of a user

To access a user's OneDrive or OneDrive for Business, your app must request the drive relationship on the User resource.

If a user has a license for OneDrive but their OneDrive isn't set up yet, this request automatically provisions the user's drive, when using delegated authentication.

GET /users/{idOrUserPrincipalName}/drive

Path parameters

Parameter name Value Description
idOrUserPrincipalName string Required. The identifier for the user object who owns the OneDrive.

Get the document library associated with a group

To access a Group's default document library, your app requests the drive relationship on the Group.

GET /groups/{groupId}/drive

Path parameters

Parameter name Value Description
groupId string Required. The identifier for the group that owns the document library.

Get the document library for a site

To access a Site's default document library, your app requests the drive relationship on the Site.

GET /sites/{siteId}/drive

Path parameters

Parameter name Value Description
siteId string Required. The identifier for the site that contains the document library.

Get a drive by ID

If you have the unique identifier for a drive, you can access it directly from the top-level drives collection.

GET /drives/{driveId}

Path parameters

Parameter name Value Description
driveId string Required. The identifier for the drive requested.

Optional query parameters

These methods support the $select query parameter to shape the response.

Response

Each of these methods returns a Drive resource for the matching drive in the response body.

Error response codes

If the drive doesn't exist and can't be provisioned automatically (when using delegated authentication) an HTTP 404 response is returned.

Examples

Request

The following example shows a request.

GET /me/drive

Response

The following example shows the response.

HTTP/1.1 200 OK
Content-type: application/json

{
    "id": "b!t18F8ybsHUq1z3LTz8xvZqP8zaSWjkFNhsME-Fepo75dTf9vQKfeRblBZjoSQrd7",
    "driveType": "business",
    "owner": {
        "user": {
            "id": "efee1b77-fb3b-4f65-99d6-274c11914d12",
            "displayName": "Ryan Gregg"
        }
    },
    "quota": {
        "deleted": 256938,
        "remaining": 1099447353539,
        "state": "normal",
        "total": 1099511627776
    }
}