Method: mediaItems.search

Pesquisa itens de mídia na biblioteca do Google Fotos de um usuário. Se nenhum filtro for definido, todos os itens de mídia na biblioteca do usuário serão retornados. Se um álbum estiver definido, todos os itens de mídia desse álbum serão retornados. Se forem especificados filtros, os itens de mídia que corresponderem aos filtros da biblioteca do usuário serão listados. Se você definir o álbum e os filtros, a solicitação resultará em um erro.

Solicitação HTTP

POST https://photoslibrary.googleapis.com/v1/mediaItems:search

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "albumId": string,
  "pageSize": integer,
  "pageToken": string,
  "filters": {
    object (Filters)
  },
  "orderBy": string
}
Campos
albumId

string

Identificador de um álbum. Se preenchido, lista todos os itens de mídia no álbum especificado. Não é possível definir com filtros.

pageSize

integer

Número máximo de itens de mídia a serem retornados na resposta. É possível que menos itens de mídia sejam retornados do que o número especificado. O pageSize padrão é 25, e o máximo é 100.

pageToken

string

Um token de continuação para ter acesso à próxima página de resultados. Adicionar isso à solicitação retorna as linhas após pageToken. O pageToken precisa ser o valor retornado no parâmetro nextPageToken na resposta à solicitação searchMediaItems.

filters

object (Filters)

Filtros a serem aplicados à solicitação. Não pode ser definido com uma albumId.

orderBy

string

Um campo opcional para especificar a ordem de classificação dos resultados da pesquisa. O campo orderBy só funciona quando um dateFilter é usado. Quando esse campo não é especificado, os resultados são mostrados mais recentes primeiro, mais antigos por último pelo creationTime. Fornecer MediaMetadata.creation_time mostra os resultados da pesquisa na ordem oposta, mais antigo primeiro e mais recente por último. Para mostrar os resultados mais recentes primeiro e depois mais antigos por último, inclua o argumento desc da seguinte maneira: MediaMetadata.creation_time desc.

Os únicos filtros adicionais que podem ser usados com esse parâmetro são includeArchivedMedia e excludeNonAppCreatedData. Não há suporte para outros filtros.

Corpo da resposta

Lista de itens de mídia que correspondem aos parâmetros de pesquisa.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Campos
mediaItems[]

object (MediaItem)

Apenas saída. Lista de itens de mídia que correspondem aos parâmetros de pesquisa.

nextPageToken

string

Apenas saída. Use esse token para receber o próximo conjunto de itens de mídia. Sua presença é o único indicador confiável de mais itens de mídia disponíveis na próxima solicitação.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

  • https://www.googleapis.com/auth/photoslibrary
  • https://www.googleapis.com/auth/photoslibrary.readonly
  • https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata

Filtros

Filtros que podem ser aplicados a uma pesquisa de item de mídia. Se várias opções de filtro forem especificadas, elas serão tratadas como "AND" uma com a outra.

Representação JSON
{
  "dateFilter": {
    object (DateFilter)
  },
  "contentFilter": {
    object (ContentFilter)
  },
  "mediaTypeFilter": {
    object (MediaTypeFilter)
  },
  "featureFilter": {
    object (FeatureFilter)
  },
  "includeArchivedMedia": boolean,
  "excludeNonAppCreatedData": boolean
}
Campos
dateFilter

object (DateFilter)

Filtra os itens de mídia com base na data de criação.

contentFilter

object (ContentFilter)

Filtra os itens de mídia com base no conteúdo.

mediaTypeFilter

object (MediaTypeFilter)

Filtra os itens de mídia com base no tipo.

featureFilter

object (FeatureFilter)

Filtra os itens de mídia com base nos recursos deles.

includeArchivedMedia

boolean

Se definido, os resultados incluirão itens de mídia que o usuário arquivou. O padrão é falso (itens de mídia arquivados não são incluídos).

excludeNonAppCreatedData

boolean

Se definido, os resultados vão excluir itens de mídia que não foram criados por este app. O padrão é "false" (todos os itens de mídia são retornados). Este campo será ignorado se o escopo photoslibrary.readonly.app createddata for usado.

DateFilter

Este filtro define as datas ou os períodos permitidos para a mídia retornada. É possível escolher um conjunto de datas específicas e um conjunto de períodos. Os itens de mídia enviados sem metadados que especificam a data em que o item de mídia foi capturado não serão retornados nas consultas que usam filtros de data. Nesse caso, o tempo de upload do servidor do Google Fotos não é usado como substituto.

Representação JSON
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Campos
dates[]

object (Date)

Lista de datas que correspondem à data de criação dos itens de mídia. É possível incluir até cinco datas por solicitação.

ranges[]

object (DateRange)

Lista de períodos que correspondem à data de criação dos itens de mídia. É possível incluir até cinco períodos por solicitação.

Data

Representa uma data inteira do calendário. Defina day como 0 quando apenas o mês e o ano forem importantes, por exemplo, todo o mês de dezembro de 2018. Defina day e month como 0 se apenas o ano for relevante, por exemplo, o ano de 2018 inteiro. Defina year como 0 quando apenas o dia e o mês forem significativos, por exemplo, uma data comemorativa ou aniversário.

Incompatível: definir todos os valores como 0, somente month como 0 ou day e year como 0 ao mesmo tempo.

Representação JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Ano da data. Precisa ser de 1 a 9.999 ou 0 para especificar uma data sem ano.

month

integer

Mês do ano. Precisa ser de 1 a 12, ou 0 para especificar um ano sem um mês e dia.

day

integer

Dia do mês. Precisa ser de 1 a 31 e válido para o ano e o mês ou 0 se especificar um ano/mês em que o dia não é importante.

DateRange

Define um intervalo de datas. As duas datas precisam ter o mesmo formato. Para mais informações, consulte Date.

Representação JSON
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Campos
startDate

object (Date)

A data de início (incluída como parte do intervalo) em um dos formatos descritos.

endDate

object (Date)

A data de término (incluída como parte do período). Ele precisa ser especificado no mesmo formato da data de início.

ContentFilter

Este filtro permite que você retorne itens de mídia com base no tipo de conteúdo.

É possível especificar uma lista de categorias a serem incluídas e/ou uma lista de categorias a serem excluídas. Dentro de cada lista, as categorias são combinadas com um OU.

O filtro de conteúdo includedContentCategories: [c1, c2, c3] receberia itens de mídia que contêm (c1 OR c2 OR c3).

O filtro de conteúdo excludedContentCategories: [c1, c2, c3] NÃO receberia itens de mídia que contenham (c1 OR c2 OR c3).

Também é possível incluir algumas categorias ao excluir outras, como neste exemplo: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

O exemplo anterior teria itens de mídia contendo (c1 OR c2) AND NOT (c3 OR c4). Uma categoria que aparece em includedContentategories não pode aparecer em excludedContentCategories.

Representação JSON
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Campos
includedContentCategories[]

enum (ContentCategory)

O conjunto de categorias a serem incluídas nos resultados da pesquisa do item de mídia. Os itens do conjunto são OR. Há um máximo de 10 includedContentCategories por solicitação.

excludedContentCategories[]

enum (ContentCategory)

O conjunto de categorias que não devem ser incluídas nos resultados da pesquisa do item de mídia. Os itens do conjunto são OR. Há um máximo de 10 excludedContentCategories por solicitação.

ContentCategory

Trata-se de um conjunto de categorias de conteúdo predefinidas que você pode filtrar.

Enums
NONE Categoria de conteúdo padrão. Esta categoria é ignorada quando qualquer outra é usada no filtro.
LANDSCAPES Itens de mídia que contêm paisagens.
RECEIPTS Itens de mídia que contêm confirmações.
CITYSCAPES Itens de mídia que contêm paisagens urbanas.
LANDMARKS Itens de mídia que contêm pontos de referência.
SELFIES Itens de mídia que são selfies.
PEOPLE Itens de mídia que contenham pessoas.
PETS Itens de mídia que contêm animais de estimação.
WEDDINGS Itens de mídia de casamentos.
BIRTHDAYS Itens de mídia de aniversários.
DOCUMENTS Itens de mídia que contêm documentos.
TRAVEL Itens de mídia capturados durante a viagem.
ANIMALS Itens de mídia que contenham animais.
FOOD Itens de mídia que contêm alimentos.
SPORT Itens de mídia de eventos esportivos.
NIGHT Itens de mídia capturados à noite.
PERFORMANCES Itens de mídia de apresentações.
WHITEBOARDS Itens de mídia que contêm lousas interativas.
SCREENSHOTS Itens de mídia que são capturas de tela.
UTILITY Itens de mídia que são considerados utilitários. Isso inclui, entre outros, documentos, capturas de tela, lousas interativas etc.
ARTS Itens de mídia que contenham arte.
CRAFTS Itens de mídia que contenham artesanato.
FASHION Itens de mídia relacionados à moda.
HOUSES Itens de mídia que contêm casas.
GARDENS Itens de mídia que contêm jardins.
FLOWERS Itens de mídia que contêm flores.
HOLIDAYS Itens de mídia retirados de feriados.

MediaTypeFilter

Este filtro define o tipo de itens de mídia a serem retornados, por exemplo, vídeos ou fotos. Há suporte para apenas um tipo de mídia.

Representação JSON
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Campos
mediaTypes[]

enum (MediaType)

Os tipos de itens de mídia a serem incluídos. Esse campo precisa ser preenchido com apenas um tipo de mídia. Se você especificar vários tipos de mídia, ocorrerá um erro.

MediaType

O conjunto de tipos de mídia que pode ser pesquisado.

Enums
ALL_MEDIA Tratado como se nenhum filtro fosse aplicado. Todos os tipos de mídia estão incluídos.
VIDEO Todos os itens de mídia considerados vídeos. Isso também inclui os filmes que o usuário criou usando o app Google Fotos.
PHOTO Todos os itens de mídia considerados fotos. Isso inclui .bmp, .gif, .ico, .jpg (e outras grafias), .tiff, .webp e tipos de fotos especiais, como fotos ao vivo do iOS, fotos com movimento do Android, panoramas e Photo Spheres.

FeatureFilter

Este filtro define os recursos que os itens de mídia devem ter.

Representação JSON
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Campos
includedFeatures[]

enum (Feature)

O conjunto de recursos a ser incluído nos resultados da pesquisa do item de mídia. Os itens do conjunto são OR e podem corresponder a qualquer um dos atributos especificados.

Engenharia de

O conjunto de recursos que você pode filtrar.

Enums
NONE Tratado como se nenhum filtro fosse aplicado. Todos os recursos estão incluídos.
FAVORITES itens de mídia que o usuário marcou como favoritos no app Google Fotos.