Gérer les propositions d'accès en attente

Une proposition d'accès est une proposition d'un demandeur à un approbateur visant à accorder à un destinataire l'accès à un élément Google Drive.

Un approbateur peut examiner toutes les propositions d'accès non résolues dans les fichiers Drive et agir en conséquence. Vous pouvez ainsi accélérer le processus d'approbation en interrogeant par programmation les propositions d'accès, puis en les résolvant. Cela permet également à un approbateur de consulter les propositions de manière agrégée.

L'API Google Drive fournit la accessproposals ressource pour vous permettre d'afficher et de résoudre les propositions d'accès en attente. Les méthodes de la ressource accessproposals fonctionnent sur les fichiers, les dossiers et les fichiers d'un Drive partagé, mais pas sur le Drive partagé.

Les termes suivants sont spécifiques aux propositions d'accès :

  • Demandeur : utilisateur qui lance la proposition d'accès à un élément Drive.
  • Destinataire : utilisateur qui reçoit les autorisations supplémentaires sur un fichier si la proposition d'accès est accordée. Le destinataire est souvent le même que le demandeur, mais pas toujours.
  • Approbateur : utilisateur responsable de l'approbation (ou du refus) de la proposition d'accès. En général, il s'agit du propriétaire du document ou d'une personne autorisée à le partager.

Utiliser le paramètre fields

Si vous souhaitez spécifier les champs à renvoyer dans la réponse, vous pouvez définir le fields paramètre système avec n'importe quelle méthode de la ressource accessproposals. Si vous omettez le paramètre fields, le serveur renvoie un ensemble de champs par défaut spécifiques à la méthode. Pour renvoyer d'autres champs, consultez Renvoyer des champs spécifiques fields.

Obtenir une proposition d'accès en attente

Pour obtenir une proposition d'accès, utilisez la get méthode sur la ressource accessproposals avec les paramètres de chemin d'accès fileId et proposalId. Si vous ne connaissez pas l'ID de la proposition, vous pouvez lister les propositions d'accès en attente à l'aide de la méthode list.

Lister les propositions d'accès en attente

Pour lister toutes les propositions d'accès en attente sur un élément Drive, appelez la list méthode sur la accessproposals ressource et incluez le fileId paramètre de chemin d'accès.

Seuls les approbateurs d'un fichier peuvent lister les propositions en attente sur ce fichier. Un approbateur est un utilisateur disposant de la fonctionnalité can_approve_access_proposals sur le fichier. Si le demandeur n'est pas un approbateur, une liste vide est renvoyée. Pour en savoir plus sur capabilities, consultez Comprendre les fonctionnalités des fichiers.

Le corps de la réponse se compose d'un objet accessproposalsreprésentant une liste de propositions d'accès non résolues sur le fichier.

L'objet accessproposals inclut des informations sur chaque proposition, telles que le demandeur, le destinataire et le message ajouté par le demandeur. Il inclut également un objet RoleAndView qui regroupe le role proposé par le demandeur avec un view. Étant donné que role est un champ répété, plusieurs rôles peuvent exister pour chaque proposition. Par exemple, une proposition peut avoir un objet RoleAndView de role=reader et view=published, ainsi qu'un objet RoleAndView supplémentaire avec uniquement la valeur role=writer. Pour en savoir plus, consultez Vues.

Transmettez les paramètres de requête suivants pour personnaliser la pagination ou filtrer les propositions d'accès :

  • pageToken : jeton de page reçu d'un appel de liste précédent. Fournissez ce jeton pour récupérer la page suivante.

  • pageSize : nombre maximal de propositions d'accès à renvoyer par page.

Résoudre les propositions d'accès en attente

Pour résoudre toutes les propositions d'accès en attente sur un élément Drive, appelez la méthode resolve sur la ressource accessproposals et incluez les paramètres de chemin d'accès fileId et proposalId.

La méthode resolve inclut un paramètre de requête action qui indique l'action à effectuer sur la proposition. L'objet Action suit le changement d'état de la proposition afin que nous sachions si elle est acceptée ou refusée.

La méthode resolve inclut également les paramètres de requête facultatifs role et view. Les seuls rôles compatibles sont writer, commenter et reader. Si le rôle n'est pas spécifié, la valeur par défaut est reader. Pour en savoir plus, consultez Rôles et autorisations. Un paramètre de requête facultatif supplémentaire sendNotification vous permet d'envoyer une notification par e-mail au demandeur lorsque la proposition est acceptée ou refusée.

Comme pour la méthode list, les utilisateurs qui résolvent la proposition doivent disposer de la fonctionnalité can_approve_access_proposals sur le fichier. Pour en savoir plus sur capabilities, consultez Comprendre les fonctionnalités des fichiers.

Les propositions sont résolues à l'aide des mêmes modèles que ceux listés dans Scénarios de partage des ressources Drive. Si plusieurs propositions concernent le même utilisateur, mais avec des rôles différents, les règles suivantes s'appliquent :

  • Si une proposition est acceptée et l'autre refusée, le rôle accepté s'applique à l'élément Drive.
  • Si les deux propositions sont acceptées en même temps, celle avec l'autorisation la plus élevée (par exemple, role=writer au lieu de role=reader) est appliquée. L'autre proposition d'accès est supprimée de l'élément.

Une fois la proposition envoyée à la méthode resolve, l'action de partage est terminée. La proposition d'accès résolue n'est plus renvoyée par la méthode list. Une fois la proposition acceptée, l'utilisateur doit utiliser la permissions ressource pour mettre à jour les autorisations sur un fichier ou dossier. Pour en savoir plus, consultez Mettre à jour les autorisations.