Une proposition d'accès est une proposition d'un demandeur à un approbateur d'accorder à un destinataire l'accès à un élément Google Drive.
Un approbateur peut examiner et traiter toutes les propositions d'accès non résolues pour les fichiers Drive. Vous pouvez ainsi accélérer le processus d'approbation en interrogeant de manière programmatique des propositions d'accès, puis en les résolvant. Il permet également à un approbateur de consulter les propositions de manière globale.
L'API Google Drive fournit la ressource accessproposals
pour que vous puissiez afficher et 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 identique au demandeur, mais ce n'est pas toujours le cas.
- Approbateur: utilisateur chargé d'approuver (ou de refuser) la proposition d'accès. Cela est généralement dû au fait qu'il est propriétaire du document ou qu'il peut le partager.
Répertorier les propositions d'accès en attente
Pour répertorier 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 fileId
.
Seuls les approbateurs d'un fichier peuvent afficher les propositions en attente associées. 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 la section Comprendre les fonctionnalités de fichier.
Le corps de la réponse consiste en un objet AccessProposal
représentant une liste de propositions d'accès non résolues sur le fichier.
L'objet AccessProposal
inclut des informations sur chaque proposition, telles que le demandeur, le destinataire et le message ajouté par le demandeur. Il comprend é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 la section 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 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 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
. Un paramètre de requête facultatif supplémentaire de 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 proposition doivent disposer de la fonctionnalité can_approve_access_proposals
sur le fichier. Pour en savoir plus sur capabilities
, consultez la section Comprendre les fonctionnalités des fichiers.
Les propositions sont résolues à l'aide des mêmes modèles listés sous Scénarios de partage des ressources Drive. Si plusieurs propositions sont faites pour le même utilisateur, mais avec des rôles différents, le cas suivant s'applique:
- Si une proposition est acceptée et une autre refusée, le rôle accepté s'applique à l'élément Drive.
- Si les deux propositions sont acceptées en même temps, la proposition avec l'autorisation la plus élevée (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 une proposition envoyée à la méthode resolve()
, l'action de partage est terminée. Le AccessProposal
n'est plus renvoyé via la méthode list()
. Une fois la proposition acceptée, l'utilisateur doit utiliser la collection permissions
pour mettre à jour les autorisations d'un fichier ou d'un dossier. Pour en savoir plus, consultez la section Modifier les autorisations.