Method: mediaItems.search

Busca elementos multimedia en la biblioteca de Google Fotos de un usuario. Si no se configuran filtros, se muestran 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 todos los elementos multimedia del álbum especificado. No se puede configurar junto con ningún filtro.

pageSize

integer

Es la cantidad máxima de elementos multimedia que se mostrarán en la respuesta. Es posible que se devuelvan 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)

Son los filtros que se aplicarán a la solicitud. No se puede configurar 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 primero los más recientes y, luego, los más antiguos según su creationTime. Si proporcionas MediaMetadata.creation_time, se mostrarán los resultados de la búsqueda en el orden opuesto, primero los más antiguos y, luego, los más recientes. Para mostrar los resultados más recientes primero y, luego, los más antiguos, 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 habrá 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, se consideran como "AND" 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 establece, los resultados incluyen los elementos multimedia que el usuario archivó. El valor predeterminado es falso (no se incluyen los elementos multimedia archivados).

excludeNonAppCreatedData

boolean

Si se configura, los resultados excluyen los elementos multimedia que no se crearon con esta app. El valor predeterminado es falso (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. Es posible elegir un conjunto de fechas específicas y un conjunto de períodos. Los elementos multimedia que se suban sin metadatos que especifiquen la fecha en la que se capturaron 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)

Es una 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 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: Configurar 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 ser entre 1 y 31, y ser válido para el año y el mes, o bien debe ser 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)

Es la fecha de inicio (incluida como parte del rango) 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 O c2 O c3).

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

El ejemplo anterior obtendría elementos multimedia que contengan (c1 O c2) Y NO (c3 O c4). Una categoría que aparece 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. Los elementos del conjunto se combinan con la operación OR. Hay un máximo de 10 excludedContentCategories por solicitud.

Categoría de contenido

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

Enumeraciones
NONE 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 contengan 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 las reproducciones
WHITEBOARDS Elementos multimedia que contienen pizarras
SCREENSHOTS Elementos multimedia que son capturas de pantalla
UTILITY Elementos multimedia que se consideran de utilidad. Estos incluyen, entre otros, documentos, capturas de pantalla, pizarras, etc.
ARTS Elementos multimedia que contienen material gráfico
CRAFTS Elementos multimedia que contienen manualidades
FASHION Elementos multimedia 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 tomados de 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 contenido multimedia.

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 trata como si no se aplicaran filtros. Se incluyen todos los tipos de contenido multimedia.
VIDEO Todos los elementos multimedia que se consideran videos. Esto también incluye 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 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 funciones que deben tener los elementos multimedia.

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

enum (Feature)

Es el conjunto de atributos que se incluirán en los resultados de la búsqueda de elementos multimedia. Los elementos del conjunto se combinan con la operación OR y pueden coincidir con cualquiera de las características especificadas.

Función

Es el conjunto de atributos por los 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.