Une proposition d'accès est une proposition envoyée par un demandeur à un approbateur pour accorder à un destinataire l'accès à un élément Google Drive.
Un approbateur peut examiner toutes les propositions d'accès non résolues pour les fichiers Drive et y répondre. Cela signifie que vous pouvez accélérer le processus d'approbation en interrogeant de manière programmatique les propositions d'accès, puis en les résolvant. Il permet également à un approbateur d'afficher les propositions de manière agrégée.
L'API Google Drive fournit la ressource accessproposals
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é lui-même.
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 recevra les autorisations supplémentaires sur un fichier si la proposition d'accès est acceptée. Souvent, le destinataire est le même que le demandeur, mais pas toujours.
- Approbateur : utilisateur chargé d'approuver (ou de refuser) la proposition d'accès. Cela se produit généralement lorsqu'ils sont propriétaires du document ou qu'ils peuvent le partager.
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 méthode list()
sur la ressource accessproposals
et incluez le paramètre de chemin d'accès fileId
.
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 AccessProposal
représentant une liste de propositions d'accès non résolues au fichier.
L'objet AccessProposal
inclut des informations sur chaque proposition, comme le demandeur, le destinataire et le message ajouté par le demandeur. Il inclut également un objet AccessProposalRoleAndView
qui regroupe les role
proposés par le demandeur avec un view
. Étant donné que role
est un champ répété, plusieurs valeurs peuvent exister pour chaque proposition. Par exemple, une proposition peut comporter un objet AccessProposalRoleAndView
de role=reader
et view=published
, ainsi qu'un objet AccessProposalRoleAndView
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 l'évolution de l'état de la proposition pour savoir 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 acceptés sont writer
, commenter
et reader
. Si le rôle n'est pas spécifié, la valeur par défaut est reader
. Un paramètre de requête facultatif supplémentaire send_notification
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 suggestion 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 sont faites pour 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 qui accorde le plus d'autorisations (par exemple,
role=writer
par rapport à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. L'AccessProposal
n'est plus renvoyé par la méthode list()
. Une fois la proposition acceptée, l'utilisateur doit utiliser la collection permissions
pour mettre à jour les autorisations sur un fichier ou un dossier. Pour en savoir plus, consultez Mettre à jour les autorisations.