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 enumeran los elementos multimedia que coinciden con los filtros de la biblioteca del usuario. Si configuras el álbum y los filtros, la solicitud mostrará 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, muestra una lista de 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 Continuation para obtener la siguiente página de resultados. Cuando se agrega 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 establecer junto con un albumId.

orderBy

string

Es un 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 más recientes primero y más antiguos al final según su creationTime. Si proporcionas MediaMetadata.creation_time, los resultados de la búsqueda se mostrarán en el orden opuesto; es decir, los más antiguos primero y, luego, los más recientes. Para mostrar los resultados más recientes primero y, luego, los más antiguos al final, 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 admite ningún otro filtro.

Cuerpo de la respuesta

Es la 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. Es la 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 siguiente solicitud.

Alcances de autorización

Se necesita uno de los siguientes permisos 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 filtros que se pueden aplicar a una búsqueda de elementos multimedia. Si se especifican varias opciones de filtro, estas se consideran del mismo modo 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 de contenido multimedia.

featureFilter

object (FeatureFilter)

Filtra los elementos multimedia según sus características.

includeArchivedMedia

boolean

Si se configuran, los resultados incluirán elementos multimedia que el usuario haya archivado. El valor predeterminado es falso (no se incluyen los elementos multimedia archivados).

excludeNonAppCreatedData

boolean

Si se configuran, los resultados excluyen los elementos multimedia que no creó esta app. La configuración predeterminada es "false" (se muestran todos los elementos multimedia). Este campo se ignora si se usa el permiso photoslibrary.readonly.appcreateddata.

DateFilter

Este filtro define las fechas o los períodos permitidos para el contenido multimedia que se muestra. Puedes 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 multimedia no se mostrarán en las consultas que usen filtros de fecha. En este caso, no se usa el tiempo de carga del servidor de Google Fotos como resguardo.

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

object (Date)

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

ranges[]

object (DateRange)

Lista de períodos que coinciden con los elementos multimedia fecha de creación. 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 2018. Establece year en 0 cuando solo el día y el mes sean importantes, por ejemplo, un aniversario o un cumpleaños.

No compatible: se establecen todos los valores en 0, solo month en 0 o 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 ser entre 1 y 9,999, o bien 0 para especificar una fecha sin año.

month

integer

Mes del año. Debe ser del 1 al 12 o 0 para especificar un año sin un mes ni un día.

day

integer

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

DateRange

Define un período. 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)

Indica 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 O c2 O 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ían elementos multimedia que contienen (c1 OR c2) AND NOT (c3 OR c4). Una categoría que aparezca en includedContentategories no debe 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án en los resultados de la búsqueda de elementos multimedia. A los elementos del conjunto se les asigna el valor OR. Hay 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. A los elementos del conjunto se les asigna el valor OR. Hay un máximo de 10 excludedContentCategories por solicitud.

Categoría de contenido

Es un conjunto de categorías de contenido predefinidas que puedes filtrar.

Enumeraciones
NONE Es la categoría de contenido predeterminada. Esta categoría se ignora cuando se utiliza cualquier otra 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 alimentos.
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 útiles. Estos documentos incluyen, entre otros, documentos, capturas de pantalla, pizarras, etcétera.
ARTS Elementos multimedia que incluyen arte.
CRAFTS Artículos multimedia que contienen manualidades
FASHION Artículos multimedia relacionados con la moda.
HOUSES Elementos multimedia que contienen casas.
GARDENS Elementos multimedia que contienen jardines.
FLOWERS Elementos multimedia que contienen flores.
HOLIDAYS Artículos multimedia tomados en festividades.

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 contenido multimedia. Si especificas varios tipos de medios, se producirá un error.

MediaType

Es el conjunto de tipos de medios que se pueden buscar.

Enumeraciones
ALL_MEDIA Se tratan como si no se aplicaran filtros. 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 haya creado con la app de Google Fotos.
PHOTO Todos los elementos multimedia que se consideran fotos. Esto incluye .bmp, .gif, .ico, .jpg (y otras opciones de ortografía), .tiff, .webp y los tipos de fotos especiales, como fotos en vivo de iOS, fotos en movimiento de Android, panorámicas y fotos esféricas.

FeatureFilter

Este filtro define las características 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. A los elementos del conjunto se les aplica OR y pueden coincidir con cualquiera de los atributos especificados.

Función

El conjunto de funciones que puedes filtrar.

Enumeraciones
NONE Se tratan como si no se aplicaran filtros. Todas las funciones están incluidas.
FAVORITES Elementos multimedia que el usuario marcó como favoritos en la app de Google Fotos.