FileStorageContainer.Selected
Allows the application to utilize the file storage container platform to manage containers, without a signed-in user. The specific file storage containers and the permissions granted to them will be configured in Microsoft 365 by the developer of each container type.
Permission Details
Access selected file storage containers
Allows the application to utilize the file storage container platform to manage containers, without a signed-in user. The specific file storage containers and the permissions granted to them will be configured in Microsoft 365 by the developer of each container type.
40dc41bc-0f7e-42ff-89bd-d9516947e474
Access selected file storage containers
Allows the application to utilize the file storage container platform to manage containers on behalf of the signed in user. The specific file storage containers and the permissions granted to them will be configured in Microsoft 365 by the developer of each container type.
085ca537-6565-41c2-aca7-db852babc212
Properties
| Property | Type | Description |
|---|---|---|
id |
string |
The unique identifier for an entity. Read-only. |
viewpoint |
object |
Data specific to the current user. Read-only. |
description |
stringNullable |
Provides a user-visible description of the fileStorageContainer. Read-write. |
recycleBin |
object |
Recycle bin of the fileStorageContainer. Read-only. |
owners |
microsoft.graph.userIdentity collection |
List of users who own the fileStorageContainer. Read-only. |
displayName |
string |
The display name of the fileStorageContainer. Read-write. |
permissions |
microsoft.graph.permission collection |
The set of permissions for users in the fileStorageContainer. The permission for each user is set by the roles property. The possible values are reader, writer, manager, and owner. Read-write. |
migrationJobs |
microsoft.graph.sharePointMigrationJob collection |
The collection of sharePointMigrationJob objects local to the container. Read-write. |
sharePointGroups |
microsoft.graph.sharePointGroup collection |
The collection of sharePointGroup objects local to the container. Read-write. |
informationBarrier |
object |
Information barrier of a fileStorageContainer. Read-write. |
createdDateTime |
date-time |
Date and time of the fileStorageContainer creation. Read-only. |
containerTypeId |
uuid |
Container type ID of the fileStorageContainer. Each container must have only one container type. Read-only. |
drive |
object |
The drive of the resource fileStorageContainer. Read-only. |
assignedSensitivityLabel |
object |
Sensitivity label assigned to the fileStorageContainer. Read-write. |
ownershipType |
object |
Ownership type of the fileStorageContainer. The possible values are: tenantOwned. Read-only. |
Showing 15 of 23 properties. View all on Microsoft Learn →
JSON Representation
{
"id": "String",
"viewpoint": "{...}",
"description": "String",
"recycleBin": "{...}",
"owners": "[...]",
"displayName": "String",
"permissions": "[...]",
"migrationJobs": "[...]",
"sharePointGroups": "[...]",
"informationBarrier": "{...}",
"createdDateTime": "String",
"containerTypeId": "uuid",
"drive": "{...}",
"assignedSensitivityLabel": "{...}",
"ownershipType": "{...}",
"lockState": "{...}",
"archivalDetails": "{...}",
"storageUsedInBytes": "Int32",
"customProperties": "{...}",
"columns": "[...]"
}
Graph Methods
| Commands |
|---|
Get-MgDrive
|
| Commands |
|---|
Get-MgBetaDrive
|
Code Examples
// Install: dotnet add package Microsoft.Graph
// Install: dotnet add package Azure.Identity
using Microsoft.Graph;
using Azure.Identity;
// Delegated permissions - interactive user sign-in
var scopes = new[] { "FileStorageContainer.Selected" };
var options = new InteractiveBrowserCredentialOptions
{
ClientId = "YOUR_CLIENT_ID",
TenantId = "YOUR_TENANT_ID",
RedirectUri = new Uri("http://localhost")
};
var credential = new InteractiveBrowserCredential(options);
var graphClient = new GraphServiceClient(credential, scopes);
// Example: GET /me
var result = await graphClient.Me.GetAsync();
Console.WriteLine($"User: {result?.DisplayName}");
// Application permissions - daemon/service app
var tenantId = "YOUR_TENANT_ID";
var clientId = "YOUR_CLIENT_ID";
var clientSecret = "YOUR_CLIENT_SECRET";
var credential = new ClientSecretCredential(tenantId, clientId, clientSecret);
var graphClient = new GraphServiceClient(credential);
// Example: GET /users/{user-id}
var users = await graphClient.Users.GetAsync();
foreach (var user in users?.Value ?? [])
{
Console.WriteLine($"User: {user.DisplayName}");
}
// npm install @azure/msal-browser @microsoft/microsoft-graph-client
import { PublicClientApplication } from "@azure/msal-browser";
import { Client } from "@microsoft/microsoft-graph-client";
import { AuthCodeMSALBrowserAuthenticationProvider } from
"@microsoft/microsoft-graph-client/authProviders/authCodeMsalBrowser";
const msalConfig = {
auth: {
clientId: "YOUR_CLIENT_ID",
authority: "https://login.microsoftonline.com/YOUR_TENANT_ID"
}
};
const pca = new PublicClientApplication(msalConfig);
await pca.initialize();
// Delegated: Login with required scope
const loginResponse = await pca.loginPopup({
scopes: ["FileStorageContainer.Selected"]
});
const authProvider = new AuthCodeMSALBrowserAuthenticationProvider(pca, {
account: loginResponse.account,
scopes: ["FileStorageContainer.Selected"],
interactionType: "popup"
});
const graphClient = Client.initWithMiddleware({ authProvider });
// Example: GET /me
const result = await graphClient.api("/me").get();
console.log(result);
// Application: Use client credentials (Node.js backend only)
// npm install @azure/identity @microsoft/microsoft-graph-client
import { ClientSecretCredential } from "@azure/identity";
import { TokenCredentialAuthenticationProvider } from
"@microsoft/microsoft-graph-client/authProviders/azureTokenCredentials";
const credential = new ClientSecretCredential(
"YOUR_TENANT_ID",
"YOUR_CLIENT_ID",
"YOUR_CLIENT_SECRET"
);
const authProvider = new TokenCredentialAuthenticationProvider(credential, {
scopes: ["https://graph.microsoft.com/.default"]
});
const graphClient = Client.initWithMiddleware({ authProvider });
const result = await graphClient.api("/users").get();
console.log(result);
# Install Microsoft Graph PowerShell module
Install-Module Microsoft.Graph -Scope CurrentUser
# Delegated access - interactive sign-in
Connect-MgGraph -Scopes "FileStorageContainer.Selected"
# Verify connection
Get-MgContext | Select-Object Account, TenantId, Scopes
# Example: GET /me
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/me"
$result | ConvertTo-Json -Depth 5
# Application access with certificate
$params = @{
ClientId = "YOUR_CLIENT_ID"
TenantId = "YOUR_TENANT_ID"
CertificateThumbprint = "YOUR_CERT_THUMBPRINT"
}
Connect-MgGraph @params
# Or with client secret (not recommended for production)
# Connect-MgGraph -ClientSecretCredential $credential
# Example: GET /users
$result = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/v1.0/users"
$result | ConvertTo-Json -Depth 5
# Always disconnect when done
Disconnect-MgGraph
# pip install msgraph-sdk azure-identity
from azure.identity import InteractiveBrowserCredential, ClientSecretCredential
from msgraph import GraphServiceClient
import asyncio
# Delegated permissions - interactive browser sign-in
credential = InteractiveBrowserCredential(
client_id="YOUR_CLIENT_ID",
tenant_id="YOUR_TENANT_ID"
)
scopes = ["FileStorageContainer.Selected"]
client = GraphServiceClient(credential, scopes)
async def get_data():
# Example: GET /me
result = await client.me.get()
print(f"User: {result.display_name}")
return result
asyncio.run(get_data())
# Application permissions - client credentials
credential = ClientSecretCredential(
tenant_id="YOUR_TENANT_ID",
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_CLIENT_SECRET"
)
scopes = ["https://graph.microsoft.com/.default"]
client = GraphServiceClient(credential, scopes)
async def get_users():
# Example: GET /users
result = await client.users.get()
for user in result.value:
print(f"User: {user.display_name}")
return result
asyncio.run(get_users())
App Registration
Navigate to Azure Portal
Go to App registrations in Microsoft Entra admin center
Add API Permission
Select your app → API permissions → Add a permission → Microsoft Graph
Select Permission Type
Choose Application permissions or Delegated permissions and search for FileStorageContainer.Selected
Grant Admin Consent
Application permissions always require admin consent. Click "Grant admin consent" in the Azure portal.