L'API Google Picker consente agli utenti di selezionare o caricare file di Google Drive. Gli utenti possono concedere alle tue app mobile e desktop l'autorizzazione ad accedere ai propri dati di Drive, fornendo un modo sicuro e autorizzato per interagire con i loro file.
Google Picker funge da finestra di dialogo "Apri file" per i file archiviati su Drive e ha diverse funzionalità:
- Un aspetto simile all'interfaccia utente di Google Drive.
- Diverse visualizzazioni che mostrano anteprime e miniature dei file di Drive.
- Un reindirizzamento a Google Picker in una nuova scheda nel browser predefinito dell'utente.
Tieni presente che Google Picker non consente agli utenti di organizzare, spostare o copiare file da una cartella all'altra. Per gestire i file, devi utilizzare l'API Google Drive o l'interfaccia utente di Drive.
Prerequisiti
Le app che utilizzano Google Picker devono rispettare tutti i Termini di servizio esistenti. La cosa più importante è identificarsi correttamente nelle richieste.
Devi anche disporre di un progetto Google Cloud.
Configura l'ambiente
Per iniziare a utilizzare l'API Google Picker, devi configurare l'ambiente.
Abilita l'API
Prima di utilizzare le API di Google, devi attivarle in un progetto Google Cloud. Puoi attivare una o più API in un singolo progetto Google Cloud.Nella console Google Cloud, abilita l'API Google Picker.
Crea una chiave API
Una chiave API è una stringa lunga contenente lettere maiuscole e minuscole, numeri, trattini bassi e trattini, ad esempio AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe.
Questo metodo di autenticazione viene utilizzato per accedere in modo anonimo ai dati disponibili pubblicamente, come i file di Google Workspace condivisi utilizzando l'impostazione di condivisione "Chiunque su internet con questo link". Per maggiori dettagli, vedi Gestire le chiavi API.
Per creare una chiave API:
- Nella console Google Cloud, vai a Menu > API e servizi > Credenziali.
- Fai clic su Crea credenziali > Chiave API.
- Viene visualizzata la nuova chiave API.
- Fai clic su Copia per copiare la chiave API da utilizzare in your app's code. La chiave API è disponibile anche nella sezione "Chiavi API" delle credenziali del progetto.
- Per impedire l'uso non autorizzato, ti consigliamo di limitare dove e per quali API può essere utilizzata la chiave API. Per maggiori dettagli, vedi Aggiungere limitazioni API.
Autorizza le credenziali per un'app desktop
Per autenticare gli utenti finali e accedere ai dati utente nella tua app, devi creare uno o più ID client OAuth 2.0. L'ID client viene utilizzato per identificare una singola app nei server OAuth di Google. Se l'app viene eseguita su più piattaforme, devi creare un ID client separato per ogni piattaforma.- Nella console API di Google, vai a Menu > Piattaforma di autenticazione Google > Client.
- Fai clic su Crea client.
- Fai clic su Tipo di applicazione > App desktop.
- Nel campo Nome, digita un nome per la credenziale. Questo nome viene visualizzato solo nella console API di Google.
- Fai clic su Crea.
La credenziale appena creata viene visualizzata in "ID client OAuth 2.0".
Per consentire alle app di ottenere l'autorizzazione per i file concessi in precedenza, devi seguire questi passaggi:
Devi ottenere un token OAuth 2.0 con l'ambito
drive.file,driveodrive.readonlyutilizzando queste istruzioni: Utilizzare OAuth 2.0 per accedere alle API di Google. Per saperne di più sugli ambiti, vedi Scegliere gli ambiti dell'API Google Drive.Passa il token OAuth 2.0 all'API Drive per leggere e modificare i file a cui l'utente ha concesso l'accesso in precedenza.
Visualizza Google Picker
L'API Google Picker per le app desktop reindirizza a Google Picker in una nuova scheda nel browser predefinito dell'utente. Una volta che l'utente concede l'accesso e seleziona i file pertinenti, Google Picker torna all'app chiamante tramite l'URL di callback. Per aprire l'API Google Picker in una pagina client, utilizza invece l'API Google Picker per le app web. Per saperne di più, vedi Panoramica delle app web.
Per consentire agli utenti di concedere l'accesso a file aggiuntivi o di selezionare i file da utilizzare nel flusso dell'app desktop:
Richiedi l'accesso all'ambito
drive.fileper aprire la pagina di accesso OAuth 2.0 in una nuova scheda del browser utilizzando queste istruzioni: Utilizzare OAuth 2.0 per accedere alle API di Google. Per saperne di più sugli ambiti, vedi Scegliere gli ambiti dell'API Google Drive.Tieni presente che per le app desktop è consentito solo l'ambito
drive.filee non può essere combinato con altri ambiti.L'URL della nuova scheda del browser accetta tutti i parametri della stringa di query OAuth standard.
Devi aggiungere i parametri URL
promptetrigger_onepickalla richiesta dell'URL di autorizzazione OAuth 2.0:Parametro Descrizione Stato prompt=consentRichiedi l'accesso ai file. Obbligatorio trigger_onepick=trueAttiva Google Picker. Obbligatorio Puoi anche personalizzare Google Picker con diversi parametri facoltativi:
Parametro Descrizione Stato allow_multiple=trueSe è impostato su true, consente all'utente di selezionare più file. Facoltativo mimetypes=MIMETYPESUn elenco separato da virgole di tipi MIME per filtrare i risultati di ricerca. Se non è impostato, nella visualizzazione vengono visualizzati i file per tutti i tipi MIME. Facoltativo file_ids=FILE_IDSUn elenco separato da virgole di ID file per filtrare i risultati di ricerca. Se non è impostato, nella visualizzazione vengono visualizzati tutti i file. Facoltativo allow_folder_selection=trueSe è impostato su true, consente all'utente di selezionare anche le cartelle. Facoltativo Il seguente esempio mostra una richiesta dell'URL di autorizzazione OAuth 2.0:
https://accounts.google.com/o/oauth2/v2/auth? \ client_id=CLIENT_ID \ &scope=https://www.googleapis.com/auth/drive.file \ &redirect_uri=REDIRECT_URI \ &response_type=code \ &access_type=offline \ &prompt=consent \ &trigger_onepick=trueSostituisci quanto segue:
CLIENT_ID: l'ID client dell'app desktop.REDIRECT_URI: dove il server di autorizzazione reindirizza il browser dell'utente dopo l'autenticazione. Ad esempio,https://www.cymbalgroup.com/oauth2callback.
redirect_urispecificato deve essere un URL HTTPS pubblico. Se vuoi utilizzare un protocollo personalizzato o un URL localhost perredirect_uri, devi utilizzare un URL HTTPS pubblico che reindirizzi al protocollo personalizzato o all'URL localhost.Una volta che l'utente concede l'accesso e seleziona i file pertinenti, OAuth reindirizza a
redirect_urispecificato nella richiesta con i seguenti parametri URL aggiunti:picked_file_ids: se l'utente ha concesso l'accesso e selezionato i file, un elenco separato da virgole degli ID file selezionati.code: il token di accesso o il codice di accesso in base alresponse_typeparametro impostato nella richiesta. Questo parametro include un nuovo codice di autorizzazione.scope: gli ambiti inclusi nella richiesta.error: se l'utente ha annullato la richiesta nel flusso di consenso, viene visualizzato un errore.
Il seguente esempio mostra una risposta dell'URL di autorizzazione OAuth 2.0:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESLe app devono scambiare il codice di autorizzazione del passaggio 3 con un nuovo token OAuth 2.0. Per saperne di più, vedi Scambiare il codice di autorizzazione con token di aggiornamento e di accesso.
Le app possono quindi utilizzare gli ID file del parametro URL nel passaggio 3 e il token OAuth 2.0 ottenuto nel passaggio 4 per chiamare l'API Drive. Per saperne di più, vedi Panoramica dell'API Google Drive.
Utilizza Google Picker con Android
Puoi utilizzare Google Picker anche nella tua app mobile Android.
Autorizza le credenziali per un'app mobile
Per utilizzare Google Picker nella tua app per Android, devi autorizzare gli utenti utilizzando OAuth 2.0, in modo simile alle app desktop. Per informazioni dettagliate sull'autenticazione Android, vedi Autorizzare l'accesso ai dati utente di Google data.
Per visualizzare Google Picker durante l'autorizzazione, crea un
AuthorizationRequest
e utilizza PICKER_OAUTH_TRIGGER con
AuthorizationRequest.ResourceParameter.
Quando crei AuthorizationRequest:
- Utilizza l'ambito
https://www.googleapis.com/auth/drive.file. - Chiama
setOptOutIncludingGrantedScopes(true)per assicurarti che il token restituito sia solo per l'https://www.googleapis.com/auth/drive.fileambito e non per gli ambiti concessi in precedenza. - Imposta il campo
AuthorizationRequest.PromptsuCONSENTper richiedere il consenso all'utente anche se è stato concesso in precedenza. Questo campo è applicabile solo alle richieste che includono parametri delle risorse. - Se vuoi, puoi utilizzare l'operatore "OR" (
|) bitmap per impostare anche il campoAuthorizationRequest.PromptSELECT_ACCOUNTper consentire all'utente di selezionare un account prima che venga visualizzata la richiesta di consenso.
Chiama Google Picker
Come per le app desktop, puoi personalizzare Google Picker con diversi parametri facoltativi:
PICKER_ALLOW_MULTIPLE: consente agli utenti di selezionare più file.PICKER_MIMETYPES: restituisce un elenco separato da virgole di tipi MIME per filtrare i risultati di ricerca. Se non è impostato, nella visualizzazione vengono visualizzati i file per tutti i tipi MIME.PICKER_FILE_IDS: restituisce un elenco separato da virgole di ID file per filtrare i risultati di ricerca. Se non è impostato, nella visualizzazione vengono visualizzati tutti i file.
Per saperne di più sui parametri facoltativi nelle app desktop, vedi Visualizzare Google Picker.
Una volta che l'utente concede l'accesso e seleziona i file pertinenti, viene restituito l'oggetto
getTokenResponseParams
della risorsa
AuthorizationResult. Se l'utente ha concesso l'accesso, questo oggetto contiene il valore picked_file_ids, che è un elenco separato da virgole degli ID file selezionati.