Inscrire les autorisations d’application de type conteneur de stockage de fichiers
Pour qu’une application SharePoint Embedded puisse interagir avec des conteneurs dans un locataire consommateur, le type de conteneur doit d’abord être inscrit dans le locataire consommateur. L’inscription du type de conteneur se produit lorsque l’application propriétaire appelle l’API d’inscription pour spécifier les autorisations qui peuvent être effectuées sur son type de conteneur. L’API d’inscription accorde également l’accès à d’autres applications invitées pour interagir avec les conteneurs de l’application propriétaire. Par exemple, une application SharePoint Embedded peut accorder des autorisations à une autre application, une application invitée afin que l’application invitée puisse effectuer des opérations de sauvegarde sur ses conteneurs.
Étant donné que l’API d’inscription contrôle les autorisations qu’une application SharePoint Embedded peut effectuer sur le conteneur dans le locataire consommateur, cet appel doit être l’une des premières API appelées. Le fait de ne pas le faire entraîne des erreurs de refus d’accès lors de l’appel d’autres API sur le conteneur et/ou le contenu dans les conteneurs.
Il n’existe aucune restriction sur le nombre d’appels de l’API d’inscription. La fréquence à laquelle l’API d’inscription est appelée et quand elle est appelée dépend de l’application SharePoint Embedded. Toutefois, le dernier appel réussi à l’API d’inscription détermine les paramètres utilisés dans le locataire consommateur.
Remarque
Seule l’application propriétaire du type de conteneur peut appeler l’API d’inscription dans le locataire consommateur.
L’API d’inscription n’est PAS une API Graph et ne peut être appelée qu’à l’aide d’un appOnly et d’un jeton d’accès basé sur un certificat. En savoir plus sur l’authentification.
Autorisations de type de conteneur
L’API d’inscription détermine les autorisations qu’une application SharePoint Embedded peut exécuter sur les conteneurs et le contenu des conteneurs pour le type de conteneur spécifié.
Autorisation | Description |
---|---|
Aucun | N’a aucune autorisation sur les conteneurs ou le contenu de ce type de conteneur. |
ReadContent | Peut lire le contenu des conteneurs de ce type de conteneur. |
WriteContent | Peut écrire du contenu dans des conteneurs pour ce type de conteneur. Cette autorisation ne peut pas être accordée sans l’autorisation ReadContent. |
Créer | Peut créer des conteneurs de ce type de conteneur. |
Supprimer | Peut supprimer des conteneurs de ce type de conteneur. |
Lecture | Peut lire les métadonnées des conteneurs de ce type de conteneur. |
Écrire | Peut mettre à jour les métadonnées des conteneurs de ce type de conteneur. |
EnumeratePermissions | Peut énumérer les membres d’un conteneur et leurs rôles pour les conteneurs de ce type de conteneur. |
AddPermissions | Peut ajouter des membres au conteneur pour les conteneurs de ce type de conteneur. |
UpdatePermissions | Peut mettre à jour (modifier les rôles de) les appartenances existantes dans le conteneur pour les conteneurs de ce type de conteneur. |
DeletePermissions | Peut supprimer d’autres membres (mais pas eux-mêmes) du conteneur pour les conteneurs de ce type de conteneur. |
DeleteOwnPermissions | Peut supprimer sa propre appartenance du conteneur pour les conteneurs de ce type de conteneur. |
ManagePermissions | Peut ajouter, supprimer (y compris auto)ou mettre à jour des membres dans les rôles de conteneur pour les conteneurs de ce type de conteneur. |
Complet | Dispose de toutes les autorisations pour les conteneurs de ce type de conteneur. |
Requête HTTP
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Remarque
Ce n’est PAS une API Graph
{RootSiteURL}
est l’URL SharePoint du locataire consommateur. Par exemple : https://contoso.sharepoint.com.
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON des autorisations de type de conteneur pour les applications SharePoint Embedded.
Réponse
Si elle réussit, cette méthode renvoie un 200 OK
code de réponse et les autorisations de type de conteneur configurées pour les applications SharePoint Embedded dans le corps de la réponse.
HTTP Code | Description |
---|---|
400 | Demande incorrecte |
401 | La demande ne dispose pas d’informations d’identification d’authentification valides. |
403 | Les informations d’identification d’authentification fournies sont valides mais insuffisantes pour effectuer l’opération demandée. Exemples : l’application appelante n’est pas l’application propriétaire du type de conteneur. |
404 | Le type de conteneur n’existe pas. |
Exemples
Inscrire le type de conteneur dans un locataire consommateur
Inscrivez le type de conteneur dans le locataire consommateur et accordez des autorisations complètes à l’application propriétaire (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) pour les appels Délégués et AppOnly.
Demande
PUT {RootSiteUrl}/_api/v2.1/storageContainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
}
]
}
Réponse
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
}
]
}
Inscrire le type de conteneur dans un locataire consommateur avec des autorisations pour une application invitée
Inscrivez le type de conteneur dans le locataire consommateur et accordez des autorisations complètes à l’application propriétaire (AppId 71392b2f-1765-406e-86af-5907d9bdb2ab) pour les appels Délégués et AppOnly. En outre, accordez à une application invitée (AppId 89ea5c94-7736-4e25-95ad-3fa95f62b6) des autorisations de lecture et d’écriture uniquement pour les appels délégués.
Demande
PUT /storagecontainerTypes/{containerTypeId}/applicationPermissions
Content-Type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["full"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
"delegated": [read", "write"],
"appOnly": ["none"]
}
]
}
Réponse
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"appId": "71392b2f-1765-406e-86af-5907d9bdb2ab",
"delegated": ["full"],
"appOnly": ["read"]
},
{
"appId": "89ea5c94-7736-4e25-95ad-3fa95f62b6",
"delegated": ["read", "write"],
"appOnly": ["none"]
}
]
}