Listar e recuperar itens de mídia

Depois que um usuário seleciona itens de mídia usando a API Picker, você pode extrair informações sobre eles e acessar o conteúdo. Este guia descreve o processo de listar e extrair itens de mídia.

Antes de começar

  • Entenda o fluxo:revise como começar a usar a API Picker para ter uma visão geral de todo o processo de seleção de fotos.
  • Seleção de item de mídia concluída:verifique se o usuário selecionou os itens de mídia na sessão. Consulte o guia sobre sessões para mais detalhes.
  • Revisar os escopos de autorização necessários: trabalhar com sessões requer o escopo photospicker.mediaitems.readonly. Para mais informações sobre escopos, consulte Escapos de autorização.

Listar itens de mídia escolhidos

  1. Use o endpoint mediaItems.list: faça uma solicitação GET para https://photospicker.googleapis.com/v1/mediaItems, fornecendo o sessionId como um parâmetro de consulta.

  2. Processar a paginação (se necessário):

    Se o usuário selecionar um grande número de itens, a resposta poderá ser paginada. Use o nextPageToken na resposta para recuperar páginas de resultados subsequentes.

  3. Processar os itens de mídia: a resposta vai conter uma matriz de objetos PickedMediaItem, cada um representando um item de mídia selecionado. Esses objetos incluem detalhes essenciais, como:

    • id: o identificador exclusivo do item de mídia.
    • baseUrl: o URL base em que você pode criar URLs para acessar o conteúdo do item de mídia em várias resoluções.
    • mimeType: o tipo MIME do item de mídia (por exemplo, image/jpeg, video/mp4).

Recuperar itens de mídia selecionados

Verifique se você tem um token de acesso OAuth 2.0 válido com o escopo https://www.googleapis.com/auth/photospicker.mediaitems.readonly para autorizar suas solicitações.

  • Criar o URL do conteúdo:use o baseUrl do objeto PickedMediaItem. Anexe a resolução ou o formato do arquivo ao baseUrl. Consulte a seção sobre URLs base para mais detalhes.

  • Buscar o conteúdo:faça uma solicitação GET para o URL base do item de mídia. A resposta vai conter os bytes do item de mídia (imagem ou vídeo). Há várias opções de baseURL disponíveis.

URLs base

Os URLs de base nas APIs do Google Fotos fornecem acesso aos bytes brutos de itens de mídia, permitindo que seu app faça o download ou os exiba. Esses URLs são incluídos nas respostas ao listar álbuns (API Library) ou acessar itens de mídia (APIs Library e Picker). Lembre-se de que os URLs base exigem parâmetros adicionais para funcionar corretamente.

Para a API Picker:

Todos os objetos PickedMediaItem.mediaFile incluem um baseUrl.

Os URLs de base permanecem ativos por 60 minutos, mas podem expirar antes se o usuário revogar as permissões do app nas configurações da Conta do Google.

Para a API Library:

Os URLs de base permanecem ativos por 60 minutos.

Os vários URLs base são:

  • baseUrl: acessa diretamente a foto, a miniatura de um vídeo ou faz o download de bytes de vídeo.
  • coverPhotoBaseUrl: acessar diretamente a foto da capa do álbum.
  • profilePictureBaseUrl: acessa diretamente a foto do perfil do proprietário de um mediaItem.

URLs de base de imagens

Confira a lista de opções que podem ser usadas com os URLs de base de imagens:

Parâmetro
w, h

Descrição

Os parâmetros de largura, w e altura, h.

Para acessar um item de mídia de imagem, como uma foto ou uma miniatura de um vídeo, especifique as dimensões que você planeja mostrar no aplicativo para que a imagem possa ser dimensionada nessas dimensões, preservando a proporção. Para fazer isso, concatene o URL de base com as dimensões necessárias, conforme mostrado nos exemplos.

Exemplos:

base-url=wmax-width-hmax-height

Confira um exemplo de como mostrar um item de mídia com largura máxima de 2.048 px e altura máxima de 1.024 px:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Descrição

O parâmetro c de corte.

Se você quiser cortar a imagem para as dimensões exatas de largura e altura especificadas, concatenar o URL de base com o parâmetro opcional -c e os parâmetros obrigatórios w e h.

O tamanho (em pixels) precisa estar no intervalo [1, 16383]. Se a largura ou a altura da imagem exceder o tamanho solicitado, ela será redimensionada e cortada (mantendo a proporção).

Exemplos:

base-url=wmax-width-hmax-height-c

Neste exemplo, o aplicativo mostra um item de mídia com exatamente 256 px de largura por 256 px de altura, como uma miniatura:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Descrição

O download, parâmetro d.

Se você quiser fazer o download da imagem mantendo todos os metadados do Exif, exceto os metadados de local, concatenar o URL base com o parâmetro d.

Exemplos:

base-url=d

Neste exemplo, o aplicativo faz o download de uma imagem com todos os metadados, exceto os de local:

https://lh3.googleusercontent.com/p/Az....XabC=d

URLs de base dos vídeos

Confira a lista de opções que você pode usar com os URLs de base de vídeo:

Parâmetro
dv

Descrição

Para acessar os bytes de um vídeo mediaItem, concatenar o baseUrl com o parâmetro dv de download de vídeo.

O parâmetro dv solicita uma versão transcodificada de alta qualidade do vídeo original. O parâmetro não é compatível com os parâmetros w e h.

Os URLs de base para downloads de vídeo podem levar alguns segundos para retornar bytes.

Antes de usar esse parâmetro, verifique se o campo mediaMetadata.status dos itens de mídia é READY. Caso contrário, se o item de mídia não tiver concluído o processamento, você poderá receber um erro.

Exemplos:

base-url=dv

O exemplo a seguir mostra como fazer o download dos bytes de um vídeo:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c e d

Descrição

Para acessar a miniatura do vídeo, use qualquer um dos parâmetros de URL de base da imagem.

Por padrão, todas as miniaturas de vídeo incluem uma sobreposição de um botão de reprodução. Consulte o parâmetro -no para remover essa sobreposição.

Exemplos:

Consulte a tabela de URLs de imagem de base para conferir exemplos.

no

Descrição

A sobreposição de miniaturas a ser removida, parâmetro no.

Se você quiser recuperar a miniatura de um vídeo sem a sobreposição de um botão de reprodução, concatenar o URL base com o parâmetro no.

O parâmetro no precisa ser usado com pelo menos um dos parâmetros de URL de base da imagem.

Exemplos:

base-url=wmax-width-hmax-height-no

O exemplo a seguir mostra uma miniatura de vídeo com exatamente 1.280 px de largura por 720 px de altura e sem uma sobreposição de botão de reprodução:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

URLs base de fotos com movimento

As fotos com movimento contêm elementos de fotos e vídeos. É possível usar parâmetros de URLs de base de imagem ou URLs de base de vídeo para solicitações baseUrl de fotos em movimento.

Parâmetro
dv

Descrição

Para recuperar o elemento de vídeo de um item de mídia de foto com movimento, use o parâmetro dv como faria para fazer o download de URLs de base de vídeo.

w, h, c e d

Descrição

Para recuperar o elemento de foto de um item de mídia de foto em movimento, use o formato de URLs de base de imagens.