Gestire le proposte di accesso in attesa

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é l'utente è proprietario del documento o ha la possibilità di condividerlo.

Utilizzare il parametro fields

Se vuoi specificare i campi da restituire nella risposta, puoi impostare il fields parametro di sistema con qualsiasi metodo della risorsa accessproposals. Se ometti il parametro fields, il server restituisce un insieme predefinito di campi specifici per il metodo. Per restituire campi diversi, vedi Restituire campi specifici.

Ricevere una proposta di accesso in attesa

Per ottenere una proposta di accesso, utilizza il metodo get sulla risorsa accessproposals con i parametri di percorso fileId e proposalId. Se non conosci l'ID proposta, puoi elencare le proposte di accesso in attesa utilizzando il metodo list.

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 accessproposals che rappresenta un elenco di proposte di accesso non risolte nel file.

L'oggetto accessproposals include informazioni su ogni proposta, ad esempio il richiedente, il destinatario e il messaggio aggiunto dal richiedente. Include anche un oggetto RoleAndView 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 RoleAndView di role=reader e view=published, oltre a un oggetto RoleAndView aggiuntivo con solo il valore role=writer. Per ulteriori informazioni, 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. Per ulteriori informazioni, consulta Ruoli e autorizzazioni. Un parametro di query facoltativo aggiuntivo di sendNotification 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 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 di Drive.
  • Se entrambe le proposte vengono accettate contemporaneamente, viene applicata quella con l'autorizzazione più elevata (ad esempio, role=writer rispetto a role=reader). L'altra proposta di accesso viene rimossa dall'elemento.

Una volta inviata una proposta al metodo resolve, l'azione di condivisione è completata. La proposta di accesso risolta non viene più restituita tramite il metodo list. Una volta accettata la proposta, l'utente deve utilizzare la risorsa permissions per aggiornare le autorizzazioni su un file o una cartella. Per ulteriori informazioni, vedi Aggiornare le autorizzazioni.