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é. Défini avec aucun filtre.

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. Si vous l'ajoutez à la requête, vous obtenez les lignes après pageToken. pageToken doit être 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 é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 dateFilter est utilisé. Lorsque ce champ n'est pas spécifié, les résultats s'affichent en premier, en commençant par les plus anciens en fonction de leur creationTime. Si vous fournissez MediaMetadata.creation_time, les résultats de recherche s'affichent dans l'ordre inverse, du plus ancien au plus récent en premier. Pour afficher les résultats du plus récent au plus ancien, 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 de la disponibilité d'un plus grand nombre d'éléments multimédias dans la requête 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 comme AND.

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 règle 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 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 le champ d'application photoslibrary.readonly.app createddata est utilisé.

DateFilter

Ce filtre définit les dates ou plages de dates autorisées pour l'élément multimédia affiché. Vous pouvez sélectionner des dates spécifiques et un ensemble de plages de dates. Les éléments multimédias importés sans métadonnées indiquant la date à laquelle ils ont été capturés ne seront pas renvoyés dans les requêtes utilisant des filtres de date. Dans ce cas, la durée 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 des éléments multimédias. Vous pouvez inclure jusqu'à cinq plages de dates par demande.

Date

Représente une date de 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 significative (par exemple, toute l'année 2018). Définissez year sur 0 lorsque seuls le jour et le mois sont importants (un anniversaire ou un anniversaire, par exemple).

Non compatible: vous avez défini toutes les valeurs sur 0, seulement month sur 0, ou 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 9 999, ou valeur 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 pour indiquer une année sans mois ni jour.

day

integer

Jour du mois. La valeur 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 et un 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 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 par 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'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 obtiendrait 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 figurer 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 utilisent l'opérateur OR. La limite est de 10 includedContentCategories par requête.

excludedContentCategories[]

enum (ContentCategory)

Ensemble des catégories à ne pas inclure dans les résultats de recherche de l'élément multimédia. Les éléments de l'ensemble utilisent l'opérateur OR. La limite 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 utiliser comme filtre.

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 de compagnie.
WEDDINGS Articles multimédias liés aux mariages
BIRTHDAYS Éléments multimédias pour les anniversaires.
DOCUMENTS Éléments multimédias contenant des documents.
TRAVEL Éléments multimédias consultés pendant un 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 Pièces multimédias liées aux spectacles
WHITEBOARDS Éléments multimédias contenant des tableaux blancs.
SCREENSHOTS Éléments multimédias sous forme de captures d'écran.
UTILITY Éléments multimédias considérés comme utilitaires. Il s'agit, entre autres, de documents, de captures d'écran, de tableaux blancs, etc.
ARTS Éléments multimédias contenant des œuvres d'art
CRAFTS Articles multimédias avec des objets de loisirs créatifs.
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 pris de jours fériés.

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 support 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 média. Si vous spécifiez plusieurs types de support, une erreur est générée.

MediaType

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

Enums
ALL_MEDIA Traitée 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 avec 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 et .webp, ainsi que les types de photos spéciaux tels que les photos instantanées iOS, les photos animées Android, les panoramas et les photo-sphères.

FeatureFilter

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

Sélection

Ensemble de fonctionnalités que vous pouvez filtrer.

Enums
NONE Traitée 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.