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