Una proposta di accesso è una proposta di un richiedente a un approvatore per concedere a un destinatario l'accesso a un elemento di Google Drive.
Un approvatore può esaminare e intervenire su tutte le proposte di accesso non risolte nei file di Drive. Ciò significa che puoi accelerare la procedura di approvazione eseguendo query a livello di programmazione per le proposte di accesso e risolvendole. Inoltre, consente a un approvatore di visualizzare le proposte in forma aggregata.
L'API Google Drive fornisce la risorsa
accessproposals
per visualizzare
e risolvere le proposte di accesso in attesa. I metodi della risorsa accessproposals
funzionano su file, cartelle e file all'interno di un Drive condiviso, ma non sul
Drive condiviso.
I seguenti termini sono specifici per le proposte di accesso:
- Richiedente: l'utente che avvia la proposta di accesso a un elemento di Drive.
- Destinatario: l'utente che riceve le autorizzazioni aggiuntive su un file se la proposta di accesso viene concessa. Molte volte il destinatario è lo stesso del richiedente, ma non sempre.
- Responsabile approvazione: l'utente responsabile dell'approvazione (o del rifiuto) della proposta di accesso. In genere, questo accade perché sono proprietari del documento o hanno la possibilità di condividerlo.
Elenca le proposte di accesso in attesa
Per elencare tutte le proposte di accesso in attesa per un elemento di Drive, chiama il metodo list()
sulla risorsa accessproposals
e includi il parametro di percorso fileId
.
Solo gli approvatori di un file possono elencare le proposte in attesa. Un approvatore
è un utente con la funzionalità can_approve_access_proposals
sul file. Se il
richiedente non è un approvatore, viene restituito un elenco vuoto. Per ulteriori informazioni
su capabilities
, vedi Informazioni sulle funzionalità
dei file.
Il corpo della risposta
è costituito da un
oggetto AccessProposal
che rappresenta un elenco di proposte di accesso non risolte nel file.
L'oggetto AccessProposal
include informazioni su ogni proposta, ad esempio
il richiedente, il destinatario e il messaggio aggiunto dal richiedente. Include anche
un oggetto
AccessProposalRoleAndView
che raggruppa il role
proposto dal richiedente con un view
. Poiché role
è un campo ripetuto, possono esistere più valori per ogni proposta. Ad esempio, una
proposta potrebbe avere un oggetto AccessProposalRoleAndView
di role=reader
e
view=published
, oltre a un oggetto AccessProposalRoleAndView
aggiuntivo con
solo il valore role=writer
. Per saperne di più, consulta la sezione
Visualizzazioni.
Trasmetti i seguenti parametri di query per personalizzare la paginazione o filtrare le proposte di accesso:
pageToken
: un token di pagina ricevuto da una precedente chiamata dell'elenco. Fornisci questo token per recuperare la pagina successiva.pageSize
: il numero massimo di proposte di accesso da restituire per pagina.
Risolvere le proposte di accesso in attesa
Per risolvere tutte le proposte di accesso in attesa per un elemento di Drive, chiama il metodo resolve()
sulla risorsa accessproposals
e includi i parametri di percorso fileId
e proposalId
.
Il metodo resolve()
include un parametro di query action
che indica l'azione da intraprendere in merito alla proposta. L'oggetto
Action
tiene traccia
della modifica dello stato della proposta, in modo da sapere se viene accettata o rifiutata.
Il metodo resolve()
include anche i parametri di query facoltativi role
e
view
. Gli unici ruoli supportati sono writer
, commenter
e reader
. Se il ruolo non è specificato, il valore predefinito è reader
. Un parametro di query facoltativo aggiuntivo di send_notification
ti consente di inviare una notifica via email al richiedente quando la proposta viene accettata o rifiutata.
Proprio come per il metodo list()
, gli utenti che risolvono la proposta devono disporre della funzionalità
can_approve_access_proposals
sul file. Per ulteriori informazioni
su capabilities
, vedi Informazioni sulle funzionalità
dei file.
Le proposte vengono risolte utilizzando gli stessi pattern elencati in Scenari per la condivisione di risorse di Drive. Se esistono più proposte per lo stesso utente, ma con ruoli diversi, si applica quanto segue:
- Se una proposta viene accettata e l'altra rifiutata, il ruolo accettato viene applicato all'elemento di Drive.
- Se entrambe le proposte vengono accettate contemporaneamente, viene applicata quella con l'autorizzazione più elevata (ad esempio,
role=writer
rispetto arole=reader
). L'altra proposta di accesso viene rimossa dall'elemento.
Una volta inviata una proposta al metodo resolve()
, l'azione di condivisione è
completata. AccessProposal
non viene più restituito tramite il metodo list()
. Una volta accettata la proposta, l'utente deve utilizzare la raccolta permissions
per aggiornare le autorizzazioni di un file o di una cartella. Per ulteriori informazioni, vedi Aggiornare
le autorizzazioni.