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 velocizzare la procedura di approvazione con una query programmatica per le proposte di accesso e poi risolverle. Inoltre, consente a un approvatore di visualizzare le proposte in forma aggregata.
L'API Google Drive fornisce la risorsa
accessproposals
per consentirti di 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. Spesso il destinatario corrisponde all'autore della richiesta, ma non sempre.
- Approvatore: l'utente responsabile dell'approvazione (o del rifiuto) della proposta di accesso. In genere, 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 in un file. Un approvatore è un utente con la funzionalità can_approve_access_proposals
per il file. Se il richiedente non è un approvatore, viene restituito un elenco vuoto. Per ulteriori informazioni su capabilities
, consulta Informazioni sulle funzionalità dei file.
Il corpo della risposta
è costituito da un
oggetto
AccessProposal
che rappresenta un elenco di proposte di accesso irrisolte nel file.
L'oggetto AccessProposal
include informazioni su ogni proposta, ad esempio il richiedente, il destinatario e il messaggio aggiunto dal richiedente. Inoltre, include un oggetto AccessProposalRoleAndView
che raggruppa il role
proposto dal richiedente con un view
. Poiché role
è un campo ripetuto, potrebbero esistere più valori per ogni proposta. Ad esempio, una proposta potrebbe avere un oggetto AccessProposalRoleAndView
di role=reader
e
view=published
, oltre a un altro oggetto AccessProposalRoleAndView
con
solo il valore role=writer
. Per ulteriori informazioni, consulta la sezione Visualizzazioni.
Passa 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 su 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
monitora la
variazione 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 ulteriore parametro di query facoltativo send_notification
ti consente di inviare una notifica via email all'autore della richiesta quando la proposta viene accettata o rifiutata.
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
, consulta Informazioni sulle funzionalità dei file.
Le proposte vengono risolte utilizzando gli stessi pattern elencati nella sezione Scenari per la condivisione delle 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 Drive.
- Se entrambe le proposte vengono accettate contemporaneamente, viene applicata la proposta con l'autorizzazione più elevata (ad esempio
role=writer
rispetto arole=reader
). L'altra proposta di accesso viene rimossa dall'articolo.
Dopo aver inviato 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 su un file o una
cartella. Per ulteriori informazioni, consulta la sezione Aggiornare le autorizzazioni.