Method: mediaItems.search

Recherche des éléments multimédias dans la bibliothèque Google Photos d'un utilisateur. Si aucun filtre n'est défini, tous les éléments multimédias de la bibliothèque de l'utilisateur sont renvoyés. Si un album est défini, tous les éléments multimédias de l'album spécifié sont renvoyés. Si des filtres sont spécifiés, les éléments multimédias correspondant aux filtres de la bibliothèque de l'utilisateur sont listés. Si vous définissez à la fois l'album et les filtres, la requête génère une erreur.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Corps de la requête

Le corps de la requête contient des données présentant la structure suivante :

Représentation JSON
{
  "albumId": string,
  "pageSize": integer,
  "pageToken": string,
  "filters": {
    object (Filters)
  },
  "orderBy": string
}
Champs
albumId

string

Identifiant d'un album. Si ce champ est renseigné, tous les éléments multimédias de l'album spécifié sont affichés. Impossible de définir ce paramètre avec des filtres.

pageSize

integer

Nombre maximal d'éléments multimédias à afficher dans la réponse. Le nombre d'éléments multimédias affichés peut être inférieur au nombre spécifié. La valeur par défaut de pageSize est 25 et la valeur maximale est 100.

pageToken

string

Un jeton de continuation pour obtenir la page de résultats suivante. L'ajout de ce code à la requête renvoie les lignes après pageToken. pageToken doit être la valeur renvoyée dans le paramètre nextPageToken dans la réponse à la requête searchMediaItems.

filters

object (Filters)

Filtres à appliquer à la requête. Ne peut pas être défini conjointement avec un élément albumId.

orderBy

string

Champ facultatif permettant de spécifier l'ordre de tri des résultats de la recherche. Le champ orderBy ne fonctionne que lorsqu'un élément dateFilter est utilisé. Si ce champ n'est pas spécifié, les résultats sont affichés les plus récents en premier, les plus anciens en dernier par leur creationTime. Si vous indiquez MediaMetadata.creation_time, les résultats de recherche s'affichent dans l'ordre opposé (les plus anciens sont les plus récents, puis les plus récents en dernier). Pour afficher les résultats les plus récents d'abord, puis les plus anciens en dernier, incluez l'argument desc comme suit: MediaMetadata.creation_time desc.

Les seuls filtres supplémentaires que vous pouvez utiliser avec ce paramètre sont includeArchivedMedia et excludeNonAppCreatedData. Aucun autre filtre n'est accepté.

Corps de la réponse

Liste des éléments multimédias correspondant aux paramètres de recherche.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation JSON
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Champs
mediaItems[]

object (MediaItem)

Uniquement en sortie. Liste des éléments multimédias correspondant aux paramètres de recherche.

nextPageToken

string

Uniquement en sortie. Utilisez ce jeton pour obtenir le prochain ensemble d'éléments multimédias. Sa présence est le seul indicateur fiable de la disponibilité d'un plus grand nombre d'éléments multimédias dans la demande suivante.

Champs d'application des autorisations

Nécessite l'un des champs d'application OAuth suivants :

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

Filtres

Filtres applicables à la recherche d'éléments multimédias. Si plusieurs options de filtrage sont spécifiées, elles sont traitées l'une avec l'autre par l'opérateur ET.

Représentation JSON
{
  "dateFilter": {
    object (DateFilter)
  },
  "contentFilter": {
    object (ContentFilter)
  },
  "mediaTypeFilter": {
    object (MediaTypeFilter)
  },
  "featureFilter": {
    object (FeatureFilter)
  },
  "includeArchivedMedia": boolean,
  "excludeNonAppCreatedData": boolean
}
Champs
dateFilter

object (DateFilter)

Filtre les éléments multimédias en fonction de leur date de création.

contentFilter

object (ContentFilter)

Filtre les éléments multimédias en fonction de leur contenu.

mediaTypeFilter

object (MediaTypeFilter)

Filtre les éléments multimédias en fonction de leur type.

featureFilter

object (FeatureFilter)

Filtre les éléments multimédias en fonction de leurs caractéristiques.

includeArchivedMedia

boolean

Si cette option est définie, les résultats incluent les éléments multimédias archivés par l'utilisateur. La valeur par défaut est "false" (les éléments multimédias archivés ne sont pas inclus).

excludeNonAppCreatedData

boolean

Si cette valeur est définie, les résultats excluent les éléments multimédias qui n'ont pas été créés par cette application. La valeur par défaut est "false" (tous les éléments multimédias sont renvoyés). Ce champ est ignoré si le champ d'application photoslibrary.readonly.appcreateddata est utilisé.

Filtre de date

Ce filtre définit les dates ou plages de dates autorisées pour les médias affichés. Vous pouvez sélectionner un ensemble de dates spécifiques et un ensemble de plages de dates. Les éléments multimédias importés dont les métadonnées ne spécifient pas la date à laquelle ils ont été capturés ne seront pas renvoyés dans les requêtes utilisant des filtres de date. La date d'importation du serveur Google Photos n'est pas utilisée comme solution de secours.

Représentation JSON
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Champs
dates[]

object (Date)

Liste des dates correspondant à la date de création des éléments multimédias. Vous pouvez inclure jusqu'à cinq dates par requête.

ranges[]

object (DateRange)

Liste des plages de dates correspondant à la date de création de l'élément multimédia. Vous pouvez inclure jusqu'à cinq plages de dates par demande.

Date

Représente une date de calendrier complète. Définissez day sur 0 lorsque seuls le mois et l'année sont pris en compte (par exemple, tout le mois de décembre 2018). Définissez day et month sur 0 si seule l'année est significative (par exemple, toute l'année 2018). Définissez year sur 0 lorsque seuls le jour et le mois sont importants, par exemple un anniversaire ou un anniversaire.

Non compatible: toutes les valeurs sont définies sur 0, seulement de month sur 0, ou les deux day et year sur 0 en même temps.

Représentation JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Champs
year

integer

Année de la date. La valeur doit être comprise entre 1 et 9999, ou 0 si vous souhaitez indiquer une date sans année.

month

integer

Mois de l'année. La valeur doit être comprise entre 1 et 12, ou "0" si vous souhaitez indiquer une année sans mois ni jour.

day

integer

Jour du mois. Doit être compris entre 1 et 31, et valide pour l'année et le mois, ou égal à 0 si vous spécifiez une année/mois où le jour n'est pas significatif.

DateRange

Définit une période. Les deux dates doivent être au même format. Pour en savoir plus, consultez Date

Représentation JSON
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Champs
startDate

object (Date)

Date de début (incluse dans la plage) dans l'un des formats décrits.

endDate

object (Date)

Date de fin (incluse dans la plage). Elle doit être spécifiée au même format que la date de début.

Filtre de contenu

Ce filtre vous permet d'afficher des éléments multimédias en fonction du type de contenu.

Vous pouvez spécifier une liste de catégories à inclure et/ou une liste de catégories à exclure. Dans chaque liste, les catégories sont combinées par un opérateur OU.

Le filtre de contenu includedContentCategories: [c1, c2, c3] permet d'obtenir les éléments multimédias qui contiennent (c1 OR c2 OR c3).

Le filtre de contenu excludedContentCategories: [c1, c2, c3] n'obtiendra PAS les éléments multimédias contenant (c1 OR c2 OR c3).

Vous pouvez également inclure certaines catégories tout en en excluant d'autres, comme dans cet exemple: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

L'exemple précédent permet d'obtenir les éléments multimédias contenant (c1 OR c2) AND NOT (c3 OR c4). Une catégorie qui apparaît dans includedContentategories ne doit pas apparaître dans excludedContentCategories.

Représentation JSON
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Champs
includedContentCategories[]

enum (ContentCategory)

Ensemble de catégories à inclure dans les résultats de recherche d'éléments multimédias. Les éléments de l'ensemble sont reliés par l'opérateur OU. Une limite maximale est de 10 includedContentCategories par requête.

excludedContentCategories[]

enum (ContentCategory)

Ensemble des catégories à ne pas inclure dans les résultats de recherche d'éléments multimédias. Les éléments de l'ensemble sont reliés par l'opérateur OU. Une limite maximale est de 10 excludedContentCategories par requête.

CatégorieContenu

Il s'agit d'un ensemble de catégories de contenu prédéfinies à utiliser pour filtrer les données.

Enums
NONE Catégorie de contenu par défaut. Cette catégorie est ignorée lorsqu'une autre catégorie est utilisée dans le filtre.
LANDSCAPES Éléments multimédias contenant des paysages.
RECEIPTS Éléments multimédias contenant des reçus.
CITYSCAPES Éléments multimédias contenant des paysages urbains.
LANDMARKS Éléments multimédias contenant des points de repère.
SELFIES Éléments multimédias correspondant à des selfies
PEOPLE Éléments multimédias contenant des personnes.
PETS Éléments multimédias contenant des animaux domestiques.
WEDDINGS Articles multimédias de mariages.
BIRTHDAYS Éléments multimédias d'anniversaires.
DOCUMENTS Éléments multimédias contenant des documents.
TRAVEL Éléments multimédias pris au cours du voyage.
ANIMALS Éléments multimédias contenant des animaux
FOOD Éléments multimédias contenant des aliments.
SPORT Éléments multimédias d'événements sportifs.
NIGHT Éléments multimédias pris la nuit.
PERFORMANCES Éléments multimédias des performances
WHITEBOARDS Éléments multimédias contenant des tableaux blancs.
SCREENSHOTS Éléments multimédias correspondant à des captures d'écran.
UTILITY Éléments multimédias considérés comme utilitaires. Il s'agit notamment de documents, de captures d'écran, de tableaux blancs, etc.
ARTS Éléments multimédias contenant des œuvres d'art.
CRAFTS Objets multimédias liés à l'artisanat.
FASHION Articles multimédias liés à la mode.
HOUSES Éléments multimédias contenant des maisons.
GARDENS Éléments multimédias contenant des jardins.
FLOWERS Éléments multimédias contenant des fleurs.
HOLIDAYS Éléments multimédias des jours fériés.

Filtre MediaType

Ce filtre définit le type d'éléments multimédias à afficher, par exemple des vidéos ou des photos. Un seul type de support est accepté.

Représentation JSON
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Champs
mediaTypes[]

enum (MediaType)

Types d'éléments multimédias à inclure. Ce champ ne doit être renseigné qu'avec un seul type de support. Si vous spécifiez plusieurs types de contenus, une erreur est générée.

MediaType

Ensemble des types de contenus pouvant faire l'objet d'une recherche.

Enums
ALL_MEDIA Traitement comme si aucun filtre n'était appliqué. Tous les types de supports sont inclus.
VIDEO Tous les éléments multimédias considérés comme des vidéos. Cela inclut également les films que l'utilisateur a créés à l'aide de l'application Google Photos.
PHOTO Tous les éléments multimédias considérés comme des photos. Cela inclut les formats .bmp, .gif, .ico, .jpg (et d'autres orthographes), .tiff et .webp, ainsi que les types de photos spéciaux tels que les Live Photos iOS, les photos animées Android, les panoramas et les photo-sphères.

Filtre de caractéristique

Ce filtre définit les fonctionnalités des éléments multimédias.

Représentation JSON
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Champs
includedFeatures[]

enum (Feature)

Ensemble de fonctionnalités à inclure dans les résultats de recherche d'éléments multimédias. Les éléments de l'ensemble sont reliés par l'opérateur OU et peuvent correspondre à n'importe quelle caractéristique spécifiée.

Caractéristique

Ensemble de fonctionnalités que vous pouvez filtrer.

Enums
NONE Traitement comme si aucun filtre n'était appliqué. Toutes les fonctionnalités sont incluses.
FAVORITES Éléments multimédias marqués comme favoris par l'utilisateur dans l'application Google Photos.