La API de Google Picker es una forma de permitir que los usuarios seleccionen o suban archivos de Google Drive. Los usuarios pueden otorgar permiso a tus apps de escritorio para acceder a sus datos de Drive, lo que proporciona una forma segura y autorizada de interactuar con sus archivos.
Google Picker actúa como un diálogo de "Abrir archivo" para los archivos almacenados en Drive y tiene varias funciones:
- Una apariencia similar a la IU de Google Drive.
- Varias vistas que muestran imágenes en miniatura y vistas previas de los archivos de Drive
- Una redirección a Google Picker en una pestaña nueva del navegador predeterminado del usuario
Ten en cuenta que Google Picker no permite que los usuarios organicen, muevan ni copien archivos de una carpeta a otra. Para administrar archivos, debes usar la API de Google Drive o la IU de Drive.
Requisitos previos
Las apps que usan Google Picker deben cumplir con todas las Condiciones del Servicio existentes. Lo más importante es que debes identificarte correctamente en tus solicitudes.
También debes tener un proyecto de Google Cloud.
Configura tu entorno
Para comenzar a usar la API de Google Picker, debes configurar tu entorno.
Habilita la API
Antes de usar las APIs de Google, debes activarlas en un proyecto de Google Cloud. Puedes activar una o más APIs en un solo proyecto de Google Cloud.En la consola de Google Cloud, habilita la API de Google Picker.
Crea una clave de API
Una clave de API es una cadena larga que contiene letras mayúsculas y minúsculas, números, guiones bajos y guiones, como AIzaSyDaGmWKa4JsXZ-HjGw7ISLn_3namBGewQe.
Este método de autenticación se usa para acceder de forma anónima a datos disponibles públicamente, como los archivos de Google Workspace compartidos con la configuración de uso compartido "Cualquier persona en Internet con este vínculo". Para obtener más detalles, consulta Administra claves de API.
Para crear una clave de API, sigue estos pasos:
- En la consola de Google Cloud, ve a Menú > APIs y servicios > Credenciales.
- Haz clic en Crear credenciales > Clave de API.
- Se mostrará tu nueva clave de API.
- Haz clic en Copiar para copiar tu clave de API y usarla en el código de tu app. La clave de API también se puede encontrar en la sección "Claves de API" de las credenciales de tu proyecto.
- Para evitar el uso no autorizado, te recomendamos restringir dónde y para qué APIs se puede usar la clave de API Para obtener más detalles, consulta Agrega restricciones de API.
Autoriza credenciales para una app de escritorio
Para autenticar a los usuarios finales y acceder a los datos del usuario en tu app, debes crear uno o más IDs de cliente de OAuth 2.0. Un ID de cliente se usa con el fin de identificar una sola app para los servidores de OAuth de Google. Si la app se ejecuta en varias plataformas, debes crear un ID de cliente independiente para cada una.- En la Consola de APIs de Google, ve a Menú > Plataforma de autenticación de Google > Clientes.
- Haz clic en Crear cliente.
- Haz clic en Tipo de aplicación > App de escritorio.
- En el campo Nombre, escribe un nombre para la credencial. Este nombre solo se muestra en la Consola de APIs de Google.
- Haz clic en Crear.
La credencial recién creada aparece en "IDs de cliente de OAuth 2.0".
Para que las apps obtengan autorización para los archivos que se les otorgaron anteriormente, debes seguir estos pasos:
Debes obtener un token de OAuth 2.0 con el permiso
drive.file,driveodrive.readonlysiguiendo estas instrucciones: Usa OAuth 2.0 para acceder a las APIs de Google. Para obtener más información sobre los permisos, consulta Elige permisos de la API de Google Drive.Pasa el token de OAuth 2.0 a la API de Drive para leer y modificar los archivos en los que el usuario otorgó acceso anteriormente.
Muestra Google Picker
La API de Google Picker para apps de escritorio redirecciona a Google Picker en una pestaña nueva del navegador predeterminado del usuario. Una vez que el usuario otorga acceso y elige los archivos pertinentes, Google Picker regresa a la app que realiza la llamada a través de la URL de devolución de llamada. Para que la API de Google Picker se abra en una página del cliente, usa la API de Google Picker para apps web. Para obtener más información, consulta Descripción general de las apps web.
Para permitir que los usuarios otorguen acceso a archivos adicionales o elijan archivos para usarlos en el flujo de tu app de escritorio, sigue estos pasos:
Solicita acceso al permiso
drive.filepara abrir la página de acceso de OAuth 2.0 en una pestaña nueva del navegador siguiendo estas instrucciones: Usa OAuth 2.0 para acceder a las APIs de Google. Para obtener más información sobre los permisos, consulta Elige permisos de la API de Google Drive.Ten en cuenta que solo se permite el permiso
drive.filepara las apps de escritorio y no se puede combinar con ningún otro permiso.La URL de la pestaña nueva del navegador acepta todos los parámetros de cadena de consulta de OAuth estándar.
Debes agregar los parámetros de URL
promptytrigger_onepicka tu solicitud de URL de autorización de OAuth 2.0. También puedes personalizar Google Picker con varios parámetros opcionales:Parámetro Descripción Estado prompt=consentSolicita acceso a los archivos. Obligatorio trigger_onepick=trueHabilita Google Picker. Obligatorio allow_multiple=trueSi es verdadero, permite que el usuario seleccione varios archivos. Opcional mimetypes=MIMETYPESEs una lista separada por comas de tipos de MIME para filtrar los resultados de la búsqueda. Si no se configura, los archivos de todos los tipos de MIME se muestran en la vista. Opcional file_ids=FILE_IDSEs una lista separada por comas de IDs de archivos para filtrar los resultados de la búsqueda. Si no se configura, todos los archivos se muestran en la vista. Opcional allow_folder_selection=trueSi es verdadero, permite que el usuario también seleccione carpetas. Opcional En el siguiente ejemplo, se muestra una solicitud de URL de autorización de 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=trueReemplaza lo siguiente:
CLIENT_ID: Es el ID de cliente de tu app de escritorio.REDIRECT_URI: Es el lugar al que el servidor de autorización redirecciona el navegador del usuario después de una autenticación correcta. Por ejemplo,https://www.cymbalgroup.com/oauth2callback.
El
redirect_uriespecificado debe ser una URL HTTPS pública. Si deseas usar un protocolo personalizado o una URL de localhost para turedirect_uri, debes usar una URL HTTPS pública que luego redireccione al protocolo personalizado o a la URL de localhost.Una vez que el usuario otorga acceso y elige los archivos pertinentes, OAuth redirecciona al
redirect_uriespecificado en la solicitud con los siguientes parámetros de URL agregados:picked_file_ids: Si el usuario otorgó acceso y eligió archivos, es una lista separada por comas de los IDs de archivos seleccionados.code: Es el token de acceso o el código de acceso según elresponse_typeparámetro establecido en la solicitud. Este parámetro incluye un nuevo código de autorización.scope: Son los permisos incluidos en la solicitud.error: Si el usuario canceló la solicitud dentro del flujo de consentimiento, se muestra un error.
En el siguiente ejemplo, se muestra una respuesta de URL de autorización de OAuth 2.0:
https://REDIRECT_URI?picked_file_ids=PICKED_FILE_IDS&code=CODE&scope=SCOPESLas apps deben intercambiar el código de autorización del paso 3 por un token nuevo de OAuth 2.0. Para obtener más información, consulta Intercambia el código de autorización por tokens de actualización y acceso.
Luego, las apps pueden usar los IDs de archivo del parámetro de URL en el paso 3 y el token de OAuth 2.0 obtenido en el paso 4 para llamar a la API de Drive. Para obtener más información, consulta Descripción general de la API de Google Drive.