Espace de noms: microsoft.graph
Attribuez de manière asynchrone une étiquette de sensibilité à un élément de lecteur.
Cette API fait partie des API Microsoft SharePoint et OneDrive qui effectuent des fonctions d’administration premium avancées et est considérée comme protégée. Les API protégées nécessitent davantage de validations, au-delà de l’autorisation et du consentement, avant de pouvoir les utiliser.
Pour plus d’informations sur les étiquettes de confidentialité du point de vue d’un administrateur, voir Activer les étiquettes de confidentialité pour les fichiers Office dans SharePoint et OneDrive.
Cette API applique des étiquettes de confidentialité aux fichiers au repos. Les clients Office n’appliquent pas de filigrane, d’en-têtes ou de pieds de page aux fichiers qui contiennent les informations de l’étiquette. Pour plus d’informations sur les étiquettes de confidentialité du point de vue d’un administrateur, voir Activer les étiquettes de confidentialité pour les fichiers Office dans SharePoint et OneDrive.
Cette API est disponible dans les déploiements cloud nationaux suivants.
| Service global |
Gouvernement américain L4 |
Gouvernement américain L5 (DOD) |
Chine exploitée par 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme étant les moins privilégiées pour cette API. Utilisez une ou plusieurs autorisations privilégiées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, voir Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez la référence des autorisations.
| Type d’autorisation |
Autorisations les moins privilégiées |
Autorisations à privilèges plus élevés |
| Déléguée (compte professionnel ou scolaire) |
Files.ReadWrite.All |
Sites.ReadWrite.All |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
Files.ReadWrite.All |
Sites.ReadWrite.All |
Remarque
Pour les conteneurs Microsoft SharePoint Embedded, les demandes d’application uniquement nécessitent le appliedByUser paramètre.
Requête HTTP
POST /drives/{drive-id}/items/{item-id}/assignSensitivityLabel
POST /drives/{drive-id}/root:/{item-path}:/assignSensitivityLabel
POST /groups/{group-id}/drive/items/{item-id}/assignSensitivityLabel
POST /groups/{group-id}/drive/root:/{item-path}:/assignSensitivityLabel
POST /me/drive/items/{item-id}/assignSensitivityLabel
POST /me/drive/root:/{item-path}:/assignSensitivityLabel
POST /sites/{site-id}/drive/items/{item-id}/assignSensitivityLabel
POST /sites/{site-id}/drive/root:/{item-path}:/assignSensitivityLabel
POST /users/{user-id}/drive/items/{item-id}/assignSensitivityLabel
POST /users/{user-id}/drive/root:/{item-path}:/assignSensitivityLabel
Corps de la demande
Dans le corps de la demande, indiquez l’ID de l’étiquette de confidentialité à attribuer à un fichier donné. Le tableau suivant répertorie les paramètres d’entrée obligatoires et facultatifs.
| Nom |
Valeur |
Description |
| sensitivityLabelId |
String |
Obligatoire. ID de l’étiquette de confidentialité à attribuer ou chaîne vide pour supprimer l’étiquette de confidentialité. |
| assignmentMethod |
sensitivityLabelAssignmentMethod |
Facultatif. Méthode d’affectation de l’étiquette sur le document. Indique si l’attribution de l’étiquette s’est faite automatiquement, standard ou en tant qu’opération privilégiée (l’équivalent d’une opération administrateur). |
| justificationText |
String |
Facultatif. Texte de justification à des fins d’audit. Obligatoire lors du déclassement ou de la suppression d’une étiquette. |
| appliedByUser |
userIdentity |
Facultatif. Identité de l’utilisateur au nom duquel l’étiquette est appliquée. Pris en charge uniquement dans le contexte de l’application (application uniquement). Spécifiez soit id (ID d’objet Microsoft Entra) soit userPrincipalName. |
Réponse
En cas de succès, l’API renvoie un 202 Accepted code de réponse HTTP avec un corps de réponse vide. L’en-tête Location fournit l’URL pour obtenir les détails de l’opération.
Pour plus d’informations sur le suivi de la progression d’une opération assignSensitivityLabel, voir Surveillance des opérations de longue durée.
Outre les erreurs générales qui s’appliquent à Microsoft Graph, cette API renvoie le 423 Locked code de réponse qui indique que le fichier auquel vous accédez est verrouillé. Dans ce cas, la propriété code de l’objet de réponse indique le type d’erreur qui bloque l’opération.
En outre, certaines étiquettes de confidentialité protégées par IRM ne peuvent pas être mises à jour en mode application uniquement et nécessitent un accès utilisateur délégué pour vérifier si l’utilisateur dispose des droits appropriés. Pour ces scénarios, l’API retourne un Not Supported code de réponse.
Le tableau suivant répertorie les valeurs possibles pour les types d’erreur.
| Valeur |
Description |
| fileDoubleKeyEncrypted |
Indique que le fichier est protégé par un chiffrement à double clé ; Par conséquent, elle ne peut pas être ouverte. |
| fileDecryptionNotSupported |
Indique que le fichier chiffré possède des propriétés spécifiques qui ne permettent pas l’ouverture de ces fichiers par SharePoint. |
| fileDecryptionDeferred |
Indique que le fichier est en cours de traitement pour le déchiffrement ; Par conséquent, elle ne peut pas être ouverte. |
| unknownFutureValue |
Valeur sentinelle d’énumération évolutive. Ne pas utiliser. |
Exemples
Exemple 1 : Attribuer une étiquette de confidentialité
Demande
L’exemple suivant illustre une demande.
POST https://graph.microsoft.com/v1.0/drive/root/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel
Content-Type: application/json
{
"sensitivityLabelId": "5feba255-812e-446a-ac59-a7044ef827b5",
"assignmentMethod": "standard",
"justificationText": "test_justification"
}
Réponse
L’exemple suivant illustre la réponse.
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/QXNzaWduU2Vuc2l0aXZpdHlMYWJlbCxiMzc3ODY3OS04OWQ3LTRkYmYtYjg0MC1jYWM1NzRhY2FlNmE?tempAuth=eyJ0eXAiOiJKV1QiLCJhb....
La valeur de l’en-tête Location fournit une URL pour un service qui retourne l’état actuel de l’opération assignSensitivityLabel.
Vous pouvez utiliser ces informations pour déterminer quand l’opération assignSensitivityLabel se termine.
Exemple 2 : attribuer une étiquette de confidentialité au nom d’un utilisateur (application uniquement)
Demande
L’exemple suivant montre une demande d’application uniquement qui attribue une étiquette au nom d’un utilisateur spécifique, identifié par l’ID d’objet Microsoft Entra.
POST https://graph.microsoft.com/v1.0/drives/{drive-id}/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel
Content-Type: application/json
{
"sensitivityLabelId": "5feba255-812e-446a-ac59-a7044ef827b5",
"assignmentMethod": "standard",
"justificationText": "test_justification",
"appliedByUser": {
"id": "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Drives.Item.Items.Item.AssignSensitivityLabel;
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new AssignSensitivityLabelPostRequestBody
{
SensitivityLabelId = "5feba255-812e-446a-ac59-a7044ef827b5",
AssignmentMethod = SensitivityLabelAssignmentMethod.Standard,
JustificationText = "test_justification",
AdditionalData = new Dictionary<string, object>
{
{
"appliedByUser" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"id", new UntypedString("4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b")
},
})
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].AssignSensitivityLabel.PostAsync(requestBody);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphdrives "github.com/microsoftgraph/msgraph-sdk-go/drives"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphdrives.NewAssignSensitivityLabelPostRequestBody()
sensitivityLabelId := "5feba255-812e-446a-ac59-a7044ef827b5"
requestBody.SetSensitivityLabelId(&sensitivityLabelId)
assignmentMethod := graphmodels.STANDARD_SENSITIVITYLABELASSIGNMENTMETHOD
requestBody.SetAssignmentMethod(&assignmentMethod)
justificationText := "test_justification"
requestBody.SetJustificationText(&justificationText)
additionalData := map[string]interface{}{
appliedByUser := graph.New()
id := "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b"
appliedByUser.SetId(&id)
requestBody.SetAppliedByUser(appliedByUser)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").AssignSensitivityLabel().Post(context.Background(), requestBody, nil)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody assignSensitivityLabelPostRequestBody = new com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody();
assignSensitivityLabelPostRequestBody.setSensitivityLabelId("5feba255-812e-446a-ac59-a7044ef827b5");
assignSensitivityLabelPostRequestBody.setAssignmentMethod(SensitivityLabelAssignmentMethod.Standard);
assignSensitivityLabelPostRequestBody.setJustificationText("test_justification");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
appliedByUser = new ();
appliedByUser.setId("4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b");
additionalData.put("appliedByUser", appliedByUser);
assignSensitivityLabelPostRequestBody.setAdditionalData(additionalData);
graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").assignSensitivityLabel().post(assignSensitivityLabelPostRequestBody);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Drives\Item\Items\Item\AssignSensitivityLabel\AssignSensitivityLabelPostRequestBody;
use Microsoft\Graph\Generated\Models\SensitivityLabelAssignmentMethod;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AssignSensitivityLabelPostRequestBody();
$requestBody->setSensitivityLabelId('5feba255-812e-446a-ac59-a7044ef827b5');
$requestBody->setAssignmentMethod(new SensitivityLabelAssignmentMethod('standard'));
$requestBody->setJustificationText('test_justification');
$additionalData = [
'appliedByUser' => [
'id' => '4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b',
],
];
$requestBody->setAdditionalData($additionalData);
$graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->assignSensitivityLabel()->post($requestBody)->wait();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.drives.item.items.item.assign_sensitivity_label.assign_sensitivity_label_post_request_body import AssignSensitivityLabelPostRequestBody
from msgraph.generated.models.sensitivity_label_assignment_method import SensitivityLabelAssignmentMethod
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AssignSensitivityLabelPostRequestBody(
sensitivity_label_id = "5feba255-812e-446a-ac59-a7044ef827b5",
assignment_method = SensitivityLabelAssignmentMethod.Standard,
justification_text = "test_justification",
additional_data = {
"applied_by_user" : {
"id" : "4a2ec3c4-1b2d-3e4f-5a6b-7c8d9e0f1a2b",
},
}
)
await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').assign_sensitivity_label.post(request_body)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/QXNzaWduU2Vuc2l0aXZpdHlMYWJlbCxiMzc3ODY3OS04OWQ3LTRkYmYtYjg0MC1jYWM1NzRhY2FlNmE?tempAuth=******
Exemple 3 : attribuer une étiquette de confidentialité au nom d’un utilisateur à l’aide d’un nom d’utilisateur principal (application uniquement)
Demande
L’exemple suivant montre une demande d’application uniquement qui identifie l’utilisateur par son nom d’utilisateur principal.
POST https://graph.microsoft.com/v1.0/drives/{drive-id}/items/016GVDAP3RCQS5VBQHORFIVU2ZMOSBL25U/assignSensitivityLabel
Content-Type: application/json
{
"sensitivityLabelId": "5feba255-812e-446a-ac59-a7044ef827b5",
"assignmentMethod": "standard",
"justificationText": "test_justification",
"appliedByUser": {
"userPrincipalName": "adelev@contoso.com"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Drives.Item.Items.Item.AssignSensitivityLabel;
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new AssignSensitivityLabelPostRequestBody
{
SensitivityLabelId = "5feba255-812e-446a-ac59-a7044ef827b5",
AssignmentMethod = SensitivityLabelAssignmentMethod.Standard,
JustificationText = "test_justification",
AdditionalData = new Dictionary<string, object>
{
{
"appliedByUser" , new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"userPrincipalName", new UntypedString("adelev@contoso.com")
},
})
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Drives["{drive-id}"].Items["{driveItem-id}"].AssignSensitivityLabel.PostAsync(requestBody);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphdrives "github.com/microsoftgraph/msgraph-sdk-go/drives"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphdrives.NewAssignSensitivityLabelPostRequestBody()
sensitivityLabelId := "5feba255-812e-446a-ac59-a7044ef827b5"
requestBody.SetSensitivityLabelId(&sensitivityLabelId)
assignmentMethod := graphmodels.STANDARD_SENSITIVITYLABELASSIGNMENTMETHOD
requestBody.SetAssignmentMethod(&assignmentMethod)
justificationText := "test_justification"
requestBody.SetJustificationText(&justificationText)
additionalData := map[string]interface{}{
appliedByUser := graph.New()
userPrincipalName := "adelev@contoso.com"
appliedByUser.SetUserPrincipalName(&userPrincipalName)
requestBody.SetAppliedByUser(appliedByUser)
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Drives().ByDriveId("drive-id").Items().ByDriveItemId("driveItem-id").AssignSensitivityLabel().Post(context.Background(), requestBody, nil)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody assignSensitivityLabelPostRequestBody = new com.microsoft.graph.drives.item.items.item.assignsensitivitylabel.AssignSensitivityLabelPostRequestBody();
assignSensitivityLabelPostRequestBody.setSensitivityLabelId("5feba255-812e-446a-ac59-a7044ef827b5");
assignSensitivityLabelPostRequestBody.setAssignmentMethod(SensitivityLabelAssignmentMethod.Standard);
assignSensitivityLabelPostRequestBody.setJustificationText("test_justification");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
appliedByUser = new ();
appliedByUser.setUserPrincipalName("adelev@contoso.com");
additionalData.put("appliedByUser", appliedByUser);
assignSensitivityLabelPostRequestBody.setAdditionalData(additionalData);
graphClient.drives().byDriveId("{drive-id}").items().byDriveItemId("{driveItem-id}").assignSensitivityLabel().post(assignSensitivityLabelPostRequestBody);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Drives\Item\Items\Item\AssignSensitivityLabel\AssignSensitivityLabelPostRequestBody;
use Microsoft\Graph\Generated\Models\SensitivityLabelAssignmentMethod;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AssignSensitivityLabelPostRequestBody();
$requestBody->setSensitivityLabelId('5feba255-812e-446a-ac59-a7044ef827b5');
$requestBody->setAssignmentMethod(new SensitivityLabelAssignmentMethod('standard'));
$requestBody->setJustificationText('test_justification');
$additionalData = [
'appliedByUser' => [
'userPrincipalName' => 'adelev@contoso.com',
],
];
$requestBody->setAdditionalData($additionalData);
$graphServiceClient->drives()->byDriveId('drive-id')->items()->byDriveItemId('driveItem-id')->assignSensitivityLabel()->post($requestBody)->wait();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.drives.item.items.item.assign_sensitivity_label.assign_sensitivity_label_post_request_body import AssignSensitivityLabelPostRequestBody
from msgraph.generated.models.sensitivity_label_assignment_method import SensitivityLabelAssignmentMethod
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AssignSensitivityLabelPostRequestBody(
sensitivity_label_id = "5feba255-812e-446a-ac59-a7044ef827b5",
assignment_method = SensitivityLabelAssignmentMethod.Standard,
justification_text = "test_justification",
additional_data = {
"applied_by_user" : {
"user_principal_name" : "adelev@contoso.com",
},
}
)
await graph_client.drives.by_drive_id('drive-id').items.by_drive_item_id('driveItem-id').assign_sensitivity_label.post(request_body)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
HTTP/1.1 202 Accepted
Location: https://contoso.sharepoint.com/_api/v2.0/monitor/QXNzaWduU2Vuc2l0aXZpdHlMYWJlbCxiMzc3ODY3OS04OWQ3LTRkYmYtYjg0MC1jYWM1NzRhY2FlNmE?tempAuth=******
La réponse de l’API indique uniquement que l’opération assignSensitivityLabel a été acceptée ou rejetée. L’opération peut être rejetée, par exemple, si le type de fichier n’est pas pris en charge ou si le fichier est doublement chiffré. Les événements d’audit pour les cas de réussite et d’échec sont enregistrés. Pour plus d’informations, consultez Auditer les activités du journal.