Una vez que un usuario selecciona elementos multimedia con la API de Selector, puedes recuperar información sobre ellos y acceder a su contenido. En esta guía, se describe el proceso de crear una lista y recuperar elementos multimedia.
Antes de comenzar
- Comprende el flujo: Revisa Cómo comenzar a usar la API de Picker para obtener una descripción general de todo el proceso de selección de fotos.
- Selección completa de elementos multimedia: Asegúrate de que el usuario haya seleccionado correctamente los elementos multimedia de su sesión. Consulta la guía sobre sesiones para obtener más detalles.
- Revisa los permisos de autorización necesarios: Para trabajar con sesiones, se requiere el permiso
photospicker.mediaitems.readonly
. Para obtener más información sobre los alcances, consulta Alcances de autorización.
Cómo mostrar una lista de los elementos multimedia elegidos
Usa el extremo
mediaItems.list
: Realiza una solicitud GET a https://photospicker.googleapis.com/v1/mediaItems y proporcionasessionId
como parámetro de consulta.Controla la paginación (si es necesario):
Si el usuario selecciona una gran cantidad de elementos, es posible que la respuesta se pagine. Usa el
nextPageToken
en la respuesta para recuperar las páginas de resultados posteriores.Procesar los elementos multimedia: la respuesta contendrá un array de objetos
PickedMediaItem
, cada uno de los cuales representa un elemento multimedia seleccionado. Estos objetos incluyen detalles esenciales, como los siguientes:id
: Es el identificador único del elemento multimedia.baseUrl
: Es la URL base a partir de la cual puedes construir URLs para acceder al contenido del elemento multimedia en varias resoluciones.mimeType
: Es el tipo de MIME del elemento multimedia (p.ej., image/jpeg, video/mp4).
Cómo recuperar elementos multimedia elegidos
Asegúrate de tener un token de acceso de OAuth 2.0 válido con el permiso https://www.googleapis.com/auth/photospicker.mediaitems.readonly
para autorizar tus solicitudes.
Crea la URL del contenido: Usa el
baseUrl
del objetoPickedMediaItem
. Agrega la resolución o el formato de archivo al baseUrl. Consulta la sección sobre las URLs base para obtener más detalles.Recupera el contenido: Realiza una solicitud GET a la URL base del elemento multimedia. La respuesta contendrá los bytes del elemento multimedia (imagen o video). Hay una serie de opciones de baseURL diferentes disponibles.
URL base
Las URLs de base de las APIs de Google Fotos proporcionan acceso a los bytes sin procesar de los elementos multimedia, lo que permite que tu app los descargue o muestre. Estas URLs se incluyen en las respuestas cuando se enumeran álbumes (API de Library) o se accede a elementos multimedia (APIs de Library y Picker). Recuerda que las URLs base requieren parámetros adicionales para funcionar correctamente.
Para la API de Picker:
Todos los objetos PickedMediaItem.mediaFile
incluyen un baseUrl
.
Las URLs base permanecen activas durante 60 minutos, pero pueden vencer antes si el usuario revoca los permisos de tu app a través de la configuración de su Cuenta de Google.
Para la API de Library:
Las URLs base permanecen activas durante 60 minutos.
Las diferentes URLs base son las siguientes:
baseUrl
: Accede directamente a una foto, a la miniatura de un video o descarga los bytes de un video.coverPhotoBaseUrl
: Accede directamente a la foto de portada del álbum.profilePictureBaseUrl
: Accede directamente a la foto de perfil del propietario de unmediaItem
.
URLs base de las imágenes
A continuación, se muestra la lista de opciones que puedes usar con las URL base de imágenes:
Parámetro | |
---|---|
w , h |
Descripción Los parámetros de ancho, Para acceder a un elemento multimedia de imagen, como una foto o una miniatura de un video, debes especificar las dimensiones que planeas mostrar en tu aplicación (para que la imagen se pueda ajustar a estas dimensiones y, al mismo tiempo, preservar la relación de aspecto). Para ello, concatena la URL base con las dimensiones requeridas, como se muestra en los ejemplos. Ejemplos: base-url=wmax-width-hmax-height Este es un ejemplo para mostrar un elemento multimedia que no tenga más de 2,048 px de ancho ni más de 1,024 px de alto: https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024 |
c |
Descripción El parámetro de recorte Si deseas recortar la imagen a las dimensiones exactas de ancho y alto que especificaste, concatena la URL base con el parámetro opcional El tamaño (en píxeles) debe estar en el rango [1, 16383]. Si el ancho o la altura de la imagen superan el tamaño solicitado, la imagen se reduce y se recorta (se mantiene la relación de aspecto). Ejemplos: base-url=wmax-width-hmax-height-c En este ejemplo, la aplicación muestra un elemento multimedia que mide exactamente 256 px de ancho y 256 px de alto, como una miniatura: https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c |
d |
Descripción El parámetro de descarga, Si deseas descargar la imagen y conservar todos los metadatos de Exif, excepto los metadatos de ubicación, concatena la URL base con el parámetro Ejemplos: base-url=d En este ejemplo, la aplicación descarga una imagen con todos los metadatos, excepto los metadatos de ubicación: https://lh3.googleusercontent.com/p/Az....XabC=d |
URL base de video
A continuación, se muestra la lista de opciones que puedes usar con las URL base de video:
Parámetro | |
---|---|
dv |
Descripción Para acceder a los bytes de un video El parámetro dv solicita una versión transcodificada de alta calidad del video original. El parámetro no es compatible con los parámetros w y h. Las URLs base para las descargas de video pueden tardar unos segundos en mostrar bytes. Antes de usar este parámetro, verifica que el campo Ejemplos: base-url=dv En el siguiente ejemplo, se muestra cómo descargar los bytes de un video: https://lh3.googleusercontent.com/p/AF....BsdZ=dv |
w , h , c y
d |
Descripción Para acceder a la miniatura del video, usa cualquiera de los parámetros de la URL base de la imagen. De forma predeterminada, todas las miniaturas de video incluyen una superposición de un botón de reproducción. Consulta el parámetro -no para quitar esta superposición. Ejemplos: Consulta la tabla de URLs de imágenes base para ver ejemplos. |
no |
Descripción El parámetro Si deseas recuperar la miniatura de un video sin la superposición de un botón de reproducción, concatena la URL base con el parámetro no. El parámetro no se debe usar con al menos uno de los parámetros de URL de la imagen base. Ejemplos: base-url=wmax-width-hmax-height-no En el siguiente ejemplo, se muestra una miniatura de video que tiene exactamente 1280 px de ancho por 720 px de alto y no incluye una superposición de botones de reproducción: https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no |
URL base de fotos en movimiento
Las fotos en movimiento contienen elementos de fotos y videos. Puedes usar parámetros de las URLs de base de imágenes o de las URLs de base de videos para las solicitudes de baseUrl
de fotos en movimiento.
Parámetro | |
---|---|
dv |
Descripción Para recuperar el elemento de video de un elemento multimedia de foto en movimiento, usa el parámetro |
w , h , c y
d |
Descripción Para recuperar el elemento de foto de un elemento multimedia de una foto en movimiento, usa el formato para las URL base de imágenes. |