Method: mediaItems.search

Busca elementos multimedia en la biblioteca de Google Fotos de un usuario. Si no se establece ningún filtro, se mostrarán todos los elementos multimedia de la biblioteca del usuario. Si se configura un álbum, se muestran todos los elementos multimedia del álbum especificado. Si se especifican filtros, se mostrarán los elementos multimedia que coincidan con los filtros de la biblioteca del usuario. Si configuras el álbum y los filtros, la solicitud generará un error.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "albumId": string,
  "pageSize": integer,
  "pageToken": string,
  "filters": {
    object (Filters)
  },
  "orderBy": string
}
Campos
albumId

string

Es el identificador de un álbum. Si se propaga, enumera todos los elementos multimedia del álbum especificado. No se puede establecer junto con ningún filtro.

pageSize

integer

Cantidad máxima de elementos multimedia que se mostrarán en la respuesta. Es posible que se muestren menos elementos multimedia que la cantidad especificada. El valor predeterminado de pageSize es 25 y el máximo es 100.

pageToken

string

Un token de continuación para obtener la siguiente página de los resultados. Si agregas esto a la solicitud, se muestran las filas después de pageToken. pageToken debe ser el valor que se muestra en el parámetro nextPageToken en la respuesta a la solicitud searchMediaItems.

filters

object (Filters)

Los filtros que se aplicarán a la solicitud. No se puede configurar junto con albumId.

orderBy

string

Campo opcional para especificar el orden de clasificación de los resultados de la búsqueda. El campo orderBy solo funciona cuando se usa un dateFilter. Si no se especifica este campo, los resultados se muestran primero los más recientes y los más antiguos al final por su creationTime. Si proporcionas MediaMetadata.creation_time, los resultados de la búsqueda se muestran en el orden opuesto, los más antiguos primero y los más recientes al final. Para mostrar los resultados más recientes primero y, luego, los más antiguos al último, incluye el argumento desc de la siguiente manera: MediaMetadata.creation_time desc.

Los únicos filtros adicionales que se pueden usar con este parámetro son includeArchivedMedia y excludeNonAppCreatedData. No se admiten otros filtros.

Cuerpo de la respuesta

Lista de elementos multimedia que coinciden con los parámetros de búsqueda.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Campos
mediaItems[]

object (MediaItem)

Solo salida. Lista de elementos multimedia que coinciden con los parámetros de búsqueda.

nextPageToken

string

Solo salida. Usa este token para obtener el siguiente conjunto de elementos multimedia. Su presencia es el único indicador confiable de que hay más elementos multimedia disponibles en la próxima solicitud.

Permisos de autorización

Se necesita uno de los siguientes alcances de OAuth:

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

Filtros

Son los filtros que se pueden aplicar a la búsqueda de un elemento multimedia. Si se especifican varias opciones de filtro, se tratarán como Y entre sí.

Representación JSON
{
  "dateFilter": {
    object (DateFilter)
  },
  "contentFilter": {
    object (ContentFilter)
  },
  "mediaTypeFilter": {
    object (MediaTypeFilter)
  },
  "featureFilter": {
    object (FeatureFilter)
  },
  "includeArchivedMedia": boolean,
  "excludeNonAppCreatedData": boolean
}
Campos
dateFilter

object (DateFilter)

Filtra los elementos multimedia según su fecha de creación.

contentFilter

object (ContentFilter)

Filtra los elementos multimedia según su contenido.

mediaTypeFilter

object (MediaTypeFilter)

Filtra los elementos multimedia según el tipo.

featureFilter

object (FeatureFilter)

Filtra los elementos multimedia según sus funciones.

includeArchivedMedia

boolean

Si se configura, los resultados incluirán los elementos multimedia que el usuario archivó. El valor predeterminado es "false" (no se incluyen los elementos multimedia archivados).

excludeNonAppCreatedData

boolean

Si se establece, los resultados excluirán los elementos multimedia que esta app no creó. El valor predeterminado es falso (se devuelven todos los elementos multimedia). Este campo se ignora si se usa el permiso photoslibrary.readonly.app createddata.

DateFilter

Este filtro define las fechas o los períodos permitidos para el contenido multimedia que se muestra. Es posible elegir un conjunto de fechas específicas y un conjunto de períodos. Los elementos multimedia subidos sin metadatos que especifiquen la fecha en que se capturó el elemento no se mostrarán en las consultas que usen filtros de fecha. En este caso, la hora de carga del servidor de Google Fotos no se usa como resguardo.

Representación JSON
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Campos
dates[]

object (Date)

Lista de fechas que coinciden con la fecha de creación de los elementos multimedia. Se puede incluir un máximo de 5 fechas por solicitud.

ranges[]

object (DateRange)

Lista de períodos que coinciden con la fecha de creación de los elementos multimedia. Se puede incluir un máximo de 5 períodos por solicitud.

Fecha

Representa una fecha de calendario completa. Establece day en 0 cuando solo el mes y el año sean significativos; por ejemplo, todo diciembre de 2018. Establece day y month en 0 si solo el año es significativo, por ejemplo, todo el año 2018. Establece year en 0 cuando solo el día y el mes sean importantes, por ejemplo, un aniversario o un cumpleaños.

No se admite: Establecer todos los valores en 0, solo en month en 0 o en day y year en 0 al mismo tiempo.

Representación JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campos
year

integer

Año de la fecha. Debe encontrarse entre 1 y 9999, o 0 para especificar una fecha sin año.

month

integer

Mes del año. Debe encontrarse entre 1 y 12, o bien 0 para especificar un año sin mes ni día.

day

integer

Día del mes. Debe encontrarse entre 1 y 31 y ser válido para el mes y el año, o 0 si se especifica un año y un mes en los que el día no es importante.

DateRange

Define un rango de fechas. Ambas fechas deben tener el mismo formato. Para obtener más detalles, consulta la información de Date.

Representación JSON
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Campos
startDate

object (Date)

Es la fecha de inicio (incluida como parte del período) en uno de los formatos descritos.

endDate

object (Date)

Es la fecha de finalización (incluida como parte del período). Debe especificarse en el mismo formato que la fecha de inicio.

ContentFilter

Este filtro te permite mostrar elementos multimedia según el tipo de contenido.

Es posible especificar una lista de categorías para incluir o una lista de categorías para excluir. Dentro de cada lista, las categorías se combinan con un operador O.

El filtro de contenido includedContentCategories: [c1, c2, c3] obtendría elementos multimedia que contengan (c1 OR c2 OR c3).

El filtro de contenido excludedContentCategories: [c1, c2, c3] NO obtendría elementos multimedia que contengan (c1 OR c2 OR c3).

También puedes incluir algunas categorías y excluir otras, como en este ejemplo: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

En el ejemplo anterior, se obtendrán elementos multimedia que contienen (c1 OR c2) AND NOT (c3 OR c4). Las categorías que aparecen en includedContentategories no deben aparecer en excludedContentCategories.

Representación JSON
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Campos
includedContentCategories[]

enum (ContentCategory)

Es el conjunto de categorías que se incluirá en los resultados de la búsqueda de elementos multimedia. Los elementos del conjunto se someten a OR. Se admite un máximo de 10 includedContentCategories por solicitud.

excludedContentCategories[]

enum (ContentCategory)

Es el conjunto de categorías que no se incluirán en los resultados de la búsqueda de elementos multimedia. Los elementos del conjunto se someten a OR. Se admite un máximo de 10 excludedContentCategories por solicitud.

ContentCategory

Este es un conjunto de categorías de contenido predefinidas que puede filtrar.

Enumeradores
NONE Es la categoría de contenido predeterminada. Esta categoría se ignora cuando se usa cualquier otra categoría en el filtro.
LANDSCAPES Elementos multimedia que contienen paisajes.
RECEIPTS Elementos multimedia que contienen recibos.
CITYSCAPES Elementos multimedia que contienen paisajes urbanos
LANDMARKS Elementos multimedia que contienen puntos de referencia.
SELFIES Elementos multimedia que son selfies
PEOPLE Elementos multimedia que incluyen personas.
PETS Elementos multimedia que contienen mascotas.
WEDDINGS Artículos multimedia de bodas
BIRTHDAYS Elementos multimedia de cumpleaños
DOCUMENTS Elementos multimedia que contienen documentos.
TRAVEL Elementos multimedia tomados durante un viaje.
ANIMALS Elementos multimedia que contienen animales
FOOD Elementos multimedia que contienen comida.
SPORT Elementos multimedia de eventos deportivos
NIGHT Elementos multimedia tomados por la noche.
PERFORMANCES Elementos multimedia de presentaciones
WHITEBOARDS Elementos multimedia que contienen pizarras.
SCREENSHOTS Elementos multimedia que son capturas de pantalla.
UTILITY Elementos multimedia que se consideran de utilidad. Estos elementos incluyen, entre otros, documentos, capturas de pantalla, pizarras, etcétera.
ARTS Elementos multimedia que contienen obras de arte.
CRAFTS Elementos multimedia que contienen manualidades.
FASHION Artículos de medios relacionados con la moda.
HOUSES Elementos multimedia que contienen casas.
GARDENS Elementos multimedia que contienen jardines.
FLOWERS Elementos multimedia que contienen flores.
HOLIDAYS Elementos multimedia de días festivos.

MediaTypeFilter

Este filtro define el tipo de elementos multimedia que se mostrarán, por ejemplo, videos o fotos. Solo se admite un tipo de medio.

Representación JSON
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Campos
mediaTypes[]

enum (MediaType)

Los tipos de elementos multimedia que se incluirán. Este campo debe propagarse con un solo tipo de medio. Si especificas varios tipos de contenido multimedia, se producirá un error.

MediaType

Es el conjunto de tipos de contenido multimedia que se pueden buscar.

Enumeradores
ALL_MEDIA Se trata como si no se aplicara ningún filtro. Se incluyen todos los tipos de contenido multimedia.
VIDEO Todos los elementos multimedia que se consideran videos. También se incluyen las películas que el usuario creó con la app de Google Fotos.
PHOTO Todos los elementos multimedia que se consideran fotos. Esto incluye .bmp, .gif, .ico, .jpg (y otras grafías), .tiff, .webp y tipos de fotos especiales, como las fotos en vivo de iOS, las fotos en movimiento de Android, las panorámicas y las fotos esféricas.

FeatureFilter

Este filtro define las funciones que deben tener los elementos multimedia.

Representación JSON
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Campos
includedFeatures[]

enum (Feature)

Es el conjunto de funciones que se incluirán en los resultados de la búsqueda de elementos multimedia. Los elementos del conjunto se someten a OR y pueden coincidir con cualquiera de los componentes especificados.

Atributo

El conjunto de características por las que puedes filtrar.

Enumeradores
NONE Se trata como si no se aplicara ningún filtro. Se incluyen todas las funciones.
FAVORITES Elementos multimedia que el usuario marcó como favoritos en la app de Google Fotos.