Questo documento spiega come integrare Google Picker nelle app per computer e dispositivi mobili utilizzando l'API Google Picker.
L'API Google Picker consente agli utenti di selezionare o caricare file di Google Drive. Gli utenti possono concedere alla tua app per computer, dispositivi mobili o app web l'autorizzazione ad accedere ai propri dati di Drive, fornendo un modo sicuro e autorizzato per interagire con i propri file.
Funzionalità
Google Picker ha diverse funzionalità:
- Un aspetto simile all'interfaccia utente di Google Drive.
- Diverse visualizzazioni che mostrano anteprime e immagini in miniatura dei file di Drive.
- Visualizzazioni pre-filtrate che mostrano solo tipi di file specifici (come PDF o immagini) o determinate cartelle.
- Un reindirizzamento a Google Picker in una nuova scheda del browser predefinito dell'utente. Per aprire l'API Google Picker in una pagina client, utilizza invece l'API Google Picker per le app web.
Tieni presente che, sebbene tu possa selezionare e caricare file con 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 è identificarti 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.
Configura l'autenticazione e l'autorizzazione
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.Autorizza le credenziali per un'app per computer
Per creare un ID client OAuth 2.0:
- 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 per computer.
- 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 a cui è stata concessa 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.Trasmetti il token OAuth 2.0 all'API Drive per leggere e modificare i file a cui l'utente ha concesso l'accesso in precedenza.
Autorizza le credenziali per la tua app mobile
Per creare un ID client OAuth 2.0, segui i passaggi descritti in Autorizzare le credenziali per un'app mobile.
Autorizza le credenziali per la tua app web
Per creare un ID client OAuth 2.0, segui i passaggi descritti in Autorizzare le credenziali per un'app web.
Visualizza Google Picker
L'API Google Picker per app per computer e dispositivi mobili reindirizza a Google Picker in una nuova scheda del 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.
-
Autentica la tua app attivando Google Picker.
-
Accedi con Google e concedi le autorizzazioni richieste.
-
Sfoglia i file di Google Drive in Google Picker e seleziona l'elemento che ti interessa.
-
Conferma la selezione e tocca Inserisci per aggiungere il file all'app.
Integra Google Picker nella tua app
Per consentire agli utenti di concedere l'accesso a file aggiuntivi o di selezionare i file da utilizzare nel flusso dell'app:
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 queste app è 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. Se vuoi, puoi anche personalizzare Google Picker con diversi altri parametri:Parametro Descrizione Stato prompt=consentRichiedi l'accesso ai file. Obbligatorio trigger_onepick=trueAttiva Google Picker. Obbligatorio 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 della tua app.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 maggiori dettagli, vai a Panoramica dell'API Google Drive overview.
Utilizza Google Picker con le app per Android
Puoi utilizzare Google Picker anche nelle app mobile per 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 per computer. Per informazioni dettagliate sull'autenticazione di Android, vedi Autorizzare l'accesso ai dati utente di Google.
Per visualizzare Google Picker durante l'autorizzazione, crea un
AuthorizationRequest
e utilizza il parametro della risorsa PICKER_OAUTH_TRIGGER nell'oggetto
AuthorizationRequest.ResourceParameter.
Quando crei AuthorizationRequest:
Utilizza l'ambito
drive.file.Chiama
setOptOutIncludingGrantedScopessutrueper assicurarti che il token restituito sia solo per l'ambitodrive.filee non per gli ambiti concessi in precedenza.Imposta il campo
AuthorizationRequest.PromptsuCONSENTper richiedere il consenso all'utente anche se è stato concesso in precedenza.Se vuoi, puoi utilizzare l'operatore "OR" bit a bit (
|) per impostare anche il campoAuthorizationRequest.PromptsuSELECT_ACCOUNTper consentire all'utente di selezionare un account prima che venga visualizzata la richiesta di consenso.
Chiama Google Picker
Come per le app per computer, puoi personalizzare Google Picker con diversi parametri facoltativi:
PICKER_ALLOW_MULTIPLE: consente agli utenti di selezionare più file.PICKER_MIMETYPES: accetta 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: accetta un elenco separato da virgole di ID file per filtrare i risultati di ricerca. Se non è impostato, nella visualizzazione vengono visualizzati tutti i file.PICKER_ALLOW_FOLDER_SELECTION: consente agli utenti di selezionare anche le cartelle.
Per saperne di più sui parametri facoltativi nelle app per computer, 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.