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 répertorié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é, répertorie tous les éléments multimédias de l'album spécifié. Ne peut pas être défini avec des filtres.

pageSize

integer

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

pageToken

string

Jeton de continuation permettant d'obtenir la page suivante des résultats. L'ajout de cet élément à la requête renvoie les lignes après pageToken. pageToken doit correspondre à la valeur renvoyée dans le paramètre nextPageToken de la réponse à la requête searchMediaItems.

filters

object (Filters)

Filtres à appliquer à la requête. Ne peut pas être défini en association avec un albumId.

orderBy

string

Champ facultatif permettant de spécifier l'ordre de tri des résultats de recherche. Le champ orderBy ne fonctionne que lorsqu'un dateFilter est utilisé. Si ce champ n'est pas spécifié, les résultats sont affichés dans l'ordre chronologique, du plus récent au plus ancien, en fonction de leur creationTime. Si vous spécifiez MediaMetadata.creation_time, les résultats de recherche s'affichent dans l'ordre inverse, les plus anciens en premier, puis les plus récents en dernier. Pour afficher les résultats les plus récents en premier, puis les plus anciens en dernier, incluez l'argument desc comme suit: MediaMetadata.creation_time desc.

Les seuls filtres supplémentaires pouvant être utilisés 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 indiquant que d'autres éléments multimédias seront disponibles dans la prochaine requête.

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 pouvant être appliqués à une recherche d'éléments multimédias Si plusieurs options de filtrage sont spécifiées, elles sont traitées avec 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 du type de contenu.

featureFilter

object (FeatureFilter)

Filtre les éléments multimédias en fonction de leurs fonctionnalités.

includeArchivedMedia

boolean

S'ils sont définis, les résultats incluent les éléments multimédias que l'utilisateur a archivés. Valeur par défaut : "false" (les éléments multimédias archivés ne sont pas inclus).

excludeNonAppCreatedData

boolean

Si cette règle 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 l'étendue photoslibrary.readonly.appcreateddata est utilisée.

DateFilter

Ce filtre définit les dates ou plages de dates autorisées pour les contenus multimédias renvoyés. Vous pouvez choisir un ensemble de dates spécifiques et un ensemble de périodes. Les éléments multimédias importés sans métadonnées spécifiant la date de capture ne seront pas renvoyés dans les requêtes utilisant des filtres de date. Dans ce cas, l'heure 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 cinq dates maximum par requête.

ranges[]

object (DateRange)

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

Date

Représente une date du calendrier entière. Définissez day sur 0 lorsque seuls le mois et l'année sont importants (par exemple, tout le mois de décembre 2018). Définissez day et month sur 0 si seule l'année est pertinente, par exemple pour l'ensemble de l'année 2018. Définissez year sur 0 lorsque seuls le jour et le mois sont importants, par exemple pour un anniversaire.

Non pris en charge: définir toutes les valeurs sur 0, uniquement month sur 0, ou les deux à day et year à 0 en même temps.

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

integer

Année de la date. Elle doit être comprise entre 1 et 9999, ou égale à 0 pour spécifier une date sans année.

month

integer

Mois d'une année. Il doit être compris entre 1 et 12, ou égal à 0 pour spécifier une année sans mois ni jour.

day

integer

Jour du mois. Il 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 et un mois où le jour n'est pas significatif.

DateRange

Définit une plage de dates. 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 (inclue dans la plage). Elle doit être spécifiée au même format que la date de début.

ContentFilter

Ce filtre vous permet de renvoyer 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 à l'aide d'un OU.

Le filtre de contenu includedContentCategories: [c1, c2, c3] récupère les éléments multimédias contenant (c1 OU c2 OU c3).

Le filtre de contenu excludedContentCategories: [c1, c2, c3] n'obtiendrait PAS les éléments multimédias contenant (c1 OU c2 OU 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 renvoie les éléments multimédias contenant (c1 OU c2) ET NON (c3 OU 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 des éléments multimédias. Les éléments de l'ensemble sont associés à l'opérateur OU. Vous ne pouvez pas utiliser plus 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 associés à l'opérateur OU. Vous ne pouvez pas utiliser plus de 10 excludedContentCategories par requête.

ContentCategory

Il s'agit d'un ensemble de catégories de contenu prédéfinies sur lesquelles vous pouvez filtrer.

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 repères
SELFIES Éléments multimédias qui sont des selfies.
PEOPLE Éléments multimédias contenant des personnes
PETS Éléments multimédias contenant des animaux de compagnie
WEDDINGS Articles multimédias pour les mariages.
BIRTHDAYS Éléments multimédias d'anniversaires.
DOCUMENTS Éléments multimédias contenant des documents
TRAVEL Éléments multimédias pris lors d'un voyage
ANIMALS Éléments multimédias contenant des animaux
FOOD Éléments multimédias contenant de la nourriture
SPORT Éléments multimédias d'événements sportifs.
NIGHT Éléments multimédias pris de nuit.
PERFORMANCES Éléments multimédias de spectacles
WHITEBOARDS Éléments multimédias contenant des tableaux blancs.
SCREENSHOTS Éléments multimédias qui sont des captures d'écran.
UTILITY Éléments multimédias considérés comme des utilitaires. Cela inclut, sans s'y limiter, les documents, les captures d'écran, les tableaux blancs, etc.
ARTS Éléments multimédias contenant des œuvres d'art
CRAFTS Éléments multimédias contenant des activités manuelles.
FASHION Éléments 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 pris lors de fêtes.

MediaTypeFilter

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

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

enum (MediaType)

Types d'éléments multimédias à inclure. Ce champ ne doit contenir qu'un seul type de support. Si vous spécifiez plusieurs types de contenu multimédia, une erreur se produit.

MediaType

Ensemble des types de contenus multimédias pouvant être recherchés.

Enums
ALL_MEDIA Comme si aucun filtre n'était appliqué. Tous les types de contenus multimédias 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 autres orthographes), .tiff, .webp et les types de photos spéciaux tels que les Live Photos iOS, les photos animées Android, les panoramas et les photospheres.

FeatureFilter

Ce filtre définit les fonctionnalités que les éléments multimédias doivent posséder.

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

enum (Feature)

Ensemble de fonctionnalités à inclure dans les résultats de recherche des éléments multimédias. Les éléments de l'ensemble sont associés à l'opérateur OU et peuvent correspondre à l'une des caractéristiques spécifiées.

Fonctionnalité

Ensemble des fonctionnalités que vous pouvez filtrer.

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