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