Method: mediaItems.search

Permet de rechercher 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 affiché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 conjointement avec un 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 dateFilter est utilisé. Lorsque ce champ n'est pas spécifié, les résultats sont affichés en premier, les plus anciens en dernier selon leur creationTime. Si vous indiquez que MediaMetadata.creation_time affiche les résultats de recherche dans l'ordre inverse, les résultats de recherche sont 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
  • https://www.googleapis.com/auth/photoslibrary.readonly.originals

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 caractéristiques.

includeArchivedMedia

boolean

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

excludeNonAppCreatedData

boolean

Si cette option 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é.

DateFilter

Ce filtre définit les dates ou plages de dates autorisées pour les médias renvoyés. Vous pouvez choisir un ensemble de dates spécifiques et un ensemble de plages de dates. Les éléments multimédias importés sans métadonnées indiquant la date de capture ne sont pas renvoyés dans les requêtes utilisant des filtres de date. Dans ce cas, le délai d'importation sur le serveur Google Photos n'est pas utilisé en remplacement.

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

object (Date)

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

ranges[]

object (DateRange)

Liste des plages de dates correspondant aux éléments multimédias la date de création. 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. Doit être comprise entre 1 et 9999, ou 0 pour indiquer 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. Elle doit être comprise entre 1 et 31, et valide pour l'année et le mois, ou égale à 0 si vous spécifiez une année/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 dans le même format que la date de début.

ContentFilter

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 à l'aide d'un opérateur OU.

Le filtre de contenu includedContentCategories: [c1, c2, c3] obtiendrait les éléments multimédias contenant (c1 OR c2 OR c3).

Le filtre de contenu excludedContentCategories: [c1, c2, c3] n'obtiendrait PAS les éléments multimédias qui contiennent (c1, 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 des catégories à inclure dans les résultats de recherche d'éléments multimédias. Les éléments de l'ensemble sont associés à l'opérateur OR. Le nombre maximal 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 associés à l'opérateur OU. Le nombre maximal est de 10 excludedContentCategories par requête.

ContentCategory

Il s'agit d'un ensemble de catégories de contenu prédéfinies que 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 Éléments multimédias de mariages
BIRTHDAYS Éléments multimédias des anniversaires.
DOCUMENTS Éléments multimédias contenant des documents.
TRAVEL Éléments multimédias utilisés pendant le voyage
ANIMALS Éléments multimédias montrant 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 des représentations
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 utiles. 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 des jours fériés.

MediaTypeFilter

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

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

enum (MediaType)

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

MediaType

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

Enums
ALL_MEDIA Comme si aucun filtre n'était appliqué. Tous les types de contenus 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 photos en direct 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 avoir.

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 utilisent l'opérateur OR et peuvent correspondre à n'importe quelle caractéristique spécifiée.

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.