Get Drive

Namespace: microsoft.graph

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 current user's OneDrive

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

If a user's OneDrive isn't provisioned but the user has a license to use OneDrive, this request will automatically provision the user's drive, when using delegated authentication.

GET /me/drive

Get a user's OneDrive

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

If a user's OneDrive isn't provisioned but the user has a license to use OneDrive, this request will automatically provision the user's drive, when using delegated authentication.

GET https://graph.microsoft.com/v1.0/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.

Request headers

Name Description
Authorization Bearer {token}. Required. Learn more about authentication and authorization.

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 will be returned.

Examples

Request

GET /me/drive

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
    }
}