Questo documento spiega come integrare Google Picker nelle tue 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 l'autorizzazione alla tua app web, mobile o desktop per accedere ai propri dati di Drive, fornendo un modo sicuro e autorizzato per interagire con i propri file.
Funzionalità
Il selettore Google ha diverse funzionalità:
- Un aspetto simile all'interfaccia utente di Google Drive.
- Diverse visualizzazioni che mostrano anteprime e miniature dei file di Drive.
- Visualizzazioni prefiltrate che mostrano solo tipi di file specifici (come PDF o immagini) o determinate cartelle.
- Un reindirizzamento al selettore Google in una nuova scheda del browser predefinito dell'utente.
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 la UI di Drive.
Prerequisiti
Le app che utilizzano il selezionatore Google devono rispettare tutti i Termini di servizio esistenti. Soprattutto, devi identificarti correttamente nelle tue richieste.
Devi anche disporre di un progetto Google Cloud.
Configura l'ambiente
Per iniziare a utilizzare l'API Google Picker, devi configurare il tuo 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.
Configurare 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 la tua app viene eseguita su più piattaforme, devi creare un ID client separato per ciascuna piattaforma.Autorizzare le credenziali per un'app per computer
Per creare un ID client OAuth 2.0, segui questi passaggi:
- Nella console API di Google, vai a Menu > Piattaforma Google Auth > Client.
- Fai clic su Crea cliente.
- 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 precedentemente concessa, devi seguire questa procedura:
Devi ottenere un token OAuth 2.0 con l'ambito
drive.file,driveodrive.readonlyseguendo queste istruzioni: Utilizzare OAuth 2.0 per accedere alle API di Google. Per ulteriori informazioni 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.
Autorizzare le credenziali per l'app mobile
Per creare un ID client OAuth 2.0, segui i passaggi descritti in Autorizzare le credenziali per un'app mobile.
Autorizzare 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.
Visualizzare il selettore Google
L'API Google Picker per app mobile e desktop reindirizza a Google Picker in una nuova scheda del browser predefinito dell'utente. Una volta che l'utente concede l'accesso e sceglie 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 l'API Google Picker per le app web. Per saperne di più, consulta Integrare Google Picker nelle app web.
Per consentire agli utenti di concedere l'accesso a file aggiuntivi o di scegliere 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 seguendo queste istruzioni: Utilizzare OAuth 2.0 per accedere alle API di Google. Per ulteriori informazioni 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 nessun altro ambito.L'URL della nuova scheda del browser accetta tutti i parametri standard della stringa di query OAuth.
Devi aggiungere i parametri URL
promptetrigger_onepickalla richiesta dell'URL di autorizzazione OAuth 2.0. Se vuoi, puoi anche personalizzare il selettore Google con diversi altri parametri:Parametro Descrizione Stato prompt=consentRichiesta di accesso ai file. Obbligatorio trigger_onepick=trueAttiva il selettore Google. Obbligatorio allow_multiple=trueSe è 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 di ID file separati da virgole per filtrare i risultati di ricerca. Se non è impostato, nella visualizzazione vengono visualizzati tutti i file. Facoltativo allow_folder_selection=trueSe è true, consente all'utente di selezionare anche le cartelle. Facoltativo Il seguente esempio mostra una richiesta di 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 riuscita. Ad esempio,https://www.cymbalgroup.com/oauth2callback.L'
redirect_urispecificato deve essere un URL HTTPS pubblico. Se vuoi utilizzare un protocollo personalizzato o un URL localhost per il tuoredirect_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 al parametroresponse_typeimpostato 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 maggiori informazioni, vedi Scambia codice di autorizzazione per 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 ulteriori informazioni, consulta la panoramica dell'API Google Drive.
Utilizzare il selettore Google con le app per Android
Puoi anche utilizzare il selettore Google nelle tue app mobile per Android.
Autorizzare 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 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
setOptOutIncludingGrantedScopesatrueper assicurarti che il token restituito sia solo per l'ambitodrive.filee non per ambiti concessi in precedenza.Imposta il campo
AuthorizationRequest.PromptsuCONSENTper richiedere il consenso all'utente anche se è stato concesso in precedenza.Puoi anche utilizzare l'operatore bitmap "OR" (
|) per impostare il campoAuthorizationRequest.PromptsuSELECT_ACCOUNTe consentire all'utente di selezionare un account prima che venga visualizzata la richiesta di consenso.
Chiamare il selettore Google
Analogamente alle app per computer, puoi personalizzare il selettore Google 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 impostati, 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 scegliere anche le cartelle.
Per saperne di più sui parametri facoltativi nelle app per computer, vedi Visualizzare il selettore Google.
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.