Method: mediaItems.search

Cerca elementi multimediali nella raccolta di Google Foto di un utente. Se non sono impostati filtri, vengono restituiti tutti gli elementi multimediali nella raccolta dell'utente. Se è impostato un album, vengono restituiti tutti gli elementi multimediali dell'album specificato. Se vengono specificati i filtri, vengono elencati gli elementi multimediali corrispondenti ai filtri della raccolta dell'utente. Se imposti sia l'album che i filtri, la richiesta genera un errore.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Corpo della richiesta

Il corpo della richiesta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "albumId": string,
  "pageSize": integer,
  "pageToken": string,
  "filters": {
    object (Filters)
  },
  "orderBy": string
}
Campi
albumId

string

Identificatore di un album. Se compilato, elenca tutti gli elementi multimediali nell'album specificato. Non può essere impostato in combinazione con altri filtri.

pageSize

integer

Il numero massimo di elementi multimediali da restituire nella risposta. Potrebbero essere restituiti meno elementi multimediali rispetto al numero specificato. Il valore predefinito di pageSize è 25, il massimo è 100.

pageToken

string

Un token di continuazione per ottenere la pagina successiva dei risultati. Se lo aggiungi alla richiesta, vengono restituite le righe dopo pageToken. pageToken deve essere il valore restituito nel parametro nextPageToken nella risposta alla richiesta searchMediaItems.

filters

object (Filters)

Filtri da applicare alla richiesta. Non può essere impostato in combinazione con un albumId.

orderBy

string

Un campo facoltativo per specificare l'ordine di ordinamento dei risultati di ricerca. Il campo orderBy funziona solo se viene utilizzato un dateFilter. Se questo campo non è specificato, i risultati vengono visualizzati in ordine decrescente, dal più recente al meno recente, in base al valore creationTime. Se specifichi MediaMetadata.creation_time, i risultati di ricerca vengono visualizzati nell'ordine opposto, dal più vecchio al più recente. Per visualizzare i risultati dal più recente al meno recente, includi l'argomento desc come segue: MediaMetadata.creation_time desc.

Gli unici filtri aggiuntivi che possono essere utilizzati con questo parametro sono includeArchivedMedia e excludeNonAppCreatedData. Non sono supportati altri filtri.

Corpo della risposta

Elenco di elementi multimediali corrispondenti ai parametri di ricerca.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione JSON
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Campi
mediaItems[]

object (MediaItem)

Solo output. Elenco di elementi multimediali corrispondenti ai parametri di ricerca.

nextPageToken

string

Solo output. Utilizza questo token per ottenere l'insieme successivo di elementi multimediali. La sua presenza è l'unico indicatore affidabile della disponibilità di altri elementi multimediali nella richiesta successiva.

Ambiti di autorizzazione

Richiede uno dei seguenti ambiti OAuth:

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

Filtri

Filtri che possono essere applicati alla ricerca di un elemento multimediale. Se vengono specificate più opzioni di filtro, queste vengono trattate come AND tra loro.

Rappresentazione JSON
{
  "dateFilter": {
    object (DateFilter)
  },
  "contentFilter": {
    object (ContentFilter)
  },
  "mediaTypeFilter": {
    object (MediaTypeFilter)
  },
  "featureFilter": {
    object (FeatureFilter)
  },
  "includeArchivedMedia": boolean,
  "excludeNonAppCreatedData": boolean
}
Campi
dateFilter

object (DateFilter)

Filtra gli elementi multimediali in base alla data di creazione.

contentFilter

object (ContentFilter)

Filtra gli elementi multimediali in base ai contenuti.

mediaTypeFilter

object (MediaTypeFilter)

Filtra gli elementi multimediali in base al tipo di contenuti multimediali.

featureFilter

object (FeatureFilter)

Filtra gli elementi multimediali in base alle relative funzionalità.

includeArchivedMedia

boolean

Se impostato, i risultati includono gli elementi multimediali archiviati dall'utente. Il valore predefinito è false (gli elementi multimediali archiviati non sono inclusi).

excludeNonAppCreatedData

boolean

Se impostato, i risultati escludono gli elementi multimediali non creati da questa app. Il valore predefinito è false (vengono restituiti tutti gli elementi multimediali). Questo campo viene ignorato se viene utilizzato l'ambito photoslibrary.readonly.appcreateddata.

DateFilter

Questo filtro definisce le date o gli intervalli di date consentiti per i contenuti multimediali restituiti. È possibile scegliere un insieme di date specifiche e un insieme di intervalli di date. Gli elementi multimediali caricati senza metadati che specificano la data di acquisizione non verranno restituiti nelle query che utilizzano i filtri data. In questo caso, l'ora di caricamento del server di Google Foto non viene utilizzata come opzione di riserva.

Rappresentazione JSON
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Campi
dates[]

object (Date)

Elenco di date corrispondenti alla data di creazione degli elementi multimediali. È possibile includere un massimo di 5 date per richiesta.

ranges[]

object (DateRange)

Elenco di intervalli di date corrispondenti alla data di creazione degli elementi multimediali. È possibile includere un massimo di 5 intervalli di date per richiesta.

Data

Rappresenta un'intera data di calendario. Imposta day su 0 quando sono significativi solo il mese e l'anno, ad esempio tutto il mese di dicembre 2018. Imposta day e month su 0 se è significativo solo l'anno, ad esempio l'intero 2018. Imposta year su 0 quando sono importanti solo il giorno e il mese, ad esempio un anniversario o un compleanno.

Non supportato: impostazione di tutti i valori su 0, solo di month su 0 o contemporaneamente di day e year su 0.

Rappresentazione JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Campi
year

integer

Anno della data. Deve essere compreso tra 1 e 9999 oppure 0 per specificare una data senza anno.

month

integer

Mese di un anno. Deve essere compreso tra 1 e 12 oppure 0 per specificare un anno senza mese e giorno.

day

integer

Giorno del mese. Deve essere compreso tra 1 e 31 e valido per l'anno e il mese oppure 0 se specifichi un anno/mese in cui il giorno non è significativo.

DateRange

Definisce un intervallo di date. Entrambe le date devono avere lo stesso formato. Per ulteriori informazioni, vedi Date.

Rappresentazione JSON
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Campi
startDate

object (Date)

La data di inizio (inclusa nell'intervallo) in uno dei formati descritti.

endDate

object (Date)

La data di fine (inclusa nell'intervallo). Deve essere specificata nello stesso formato della data di inizio.

ContentFilter

Questo filtro ti consente di restituire elementi multimediali in base al tipo di contenuti.

È possibile specificare un elenco di categorie da includere e/o un elenco di categorie da escludere. All'interno di ogni elenco, le categorie vengono combinate con un operatore OR.

Il filtro dei contenuti includedContentCategories: [c1, c2, c3] restituisce gli elementi multimediali che contengono (c1 OPPURE c2 OPPURE c3).

Il filtro dei contenuti excludedContentCategories: [c1, c2, c3] NON recupera gli elementi multimediali che contengono (c1 OPPURE c2 OPPURE c3).

Puoi anche includere alcune categorie ed escluderne altre, come in questo esempio: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

L'esempio precedente restituisce gli elementi multimediali contenenti (c1 OPPURE c2) E NON (c3 OPPURE c4). Una categoria visualizzata in includedContentategories non deve essere visualizzata in excludedContentCategories.

Rappresentazione JSON
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Campi
includedContentCategories[]

enum (ContentCategory)

L'insieme di categorie da includere nei risultati di ricerca degli elementi multimediali. Gli elementi dell'insieme sono OR. È possibile specificare un massimo di 10 includedContentCategories per richiesta.

excludedContentCategories[]

enum (ContentCategory)

L'insieme di categorie che non devono essere incluse nei risultati di ricerca degli elementi multimediali. Gli elementi dell'insieme sono OR. È possibile specificare un massimo di 10 excludedContentCategories per richiesta.

ContentCategory

Si tratta di un insieme di categorie di contenuti predefiniti in base ai quali puoi filtrare i dati.

Enum
NONE Categoria di contenuti predefinita. Questa categoria viene ignorata quando nel filtro viene utilizzata un'altra categoria.
LANDSCAPES Elementi multimediali contenenti paesaggi.
RECEIPTS Elementi multimediali contenenti ricevute.
CITYSCAPES Elementi multimediali contenenti panorami urbani.
LANDMARKS Elementi multimediali contenenti punti di riferimento.
SELFIES Elementi multimediali che sono selfie.
PEOPLE Elementi multimediali contenenti persone.
PETS Elementi multimediali contenenti animali domestici.
WEDDINGS Elementi multimediali di matrimoni.
BIRTHDAYS Elementi multimediali relativi ai compleanni.
DOCUMENTS Elementi multimediali contenenti documenti.
TRAVEL Elementi multimediali realizzati durante il viaggio.
ANIMALS Elementi multimediali contenenti animali.
FOOD Elementi multimediali contenenti cibo.
SPORT Elementi multimediali di eventi sportivi.
NIGHT Elementi multimediali realizzati di notte.
PERFORMANCES Elementi multimediali delle esibizioni.
WHITEBOARDS Elementi multimediali contenenti lavagne.
SCREENSHOTS Elementi multimediali che sono screenshot.
UTILITY Elementi multimediali considerati di utilità. Sono inclusi, a titolo esemplificativo, documenti, screenshot, lavagne e così via.
ARTS Elementi multimediali contenenti artwork.
CRAFTS Elementi multimediali contenenti oggetti di artigianato.
FASHION Contenuti multimediali relativi alla moda.
HOUSES Elementi multimediali contenenti case.
GARDENS Elementi multimediali contenenti giardini.
FLOWERS Elementi multimediali contenenti fiori.
HOLIDAYS Elementi multimediali realizzati durante le festività.

MediaTypeFilter

Questo filtro definisce il tipo di elementi multimediali da restituire, ad esempio video o foto. È supportato un solo tipo di media.

Rappresentazione JSON
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Campi
mediaTypes[]

enum (MediaType)

I tipi di elementi multimediali da includere. Questo campo deve essere compilato con un solo tipo di media. Se specifichi più tipi di media, viene generato un errore.

MediaType

L'insieme di tipi di contenuti multimediali che possono essere cercati.

Enum
ALL_MEDIA Trattato come se non fossero applicati filtri. Sono inclusi tutti i tipi di contenuti multimediali.
VIDEO Tutti gli elementi multimediali considerati video. Sono inclusi anche i filmati creati dall'utente utilizzando l'app Google Foto.
PHOTO Tutti gli elementi multimediali considerati foto. Sono inclusi .bmp, .gif, .ico, .jpg (e altre ortografie), .tiff, .webp e tipi di foto speciali come Live Photo di iOS, foto in movimento di Android, foto panoramiche, foto sferiche.

FeatureFilter

Questo filtro definisce le funzionalità che devono avere gli elementi multimediali.

Rappresentazione JSON
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Campi
includedFeatures[]

enum (Feature)

L'insieme di funzionalità da includere nei risultati di ricerca degli elementi multimediali. Gli elementi dell'insieme sono OR e possono corrispondere a una qualsiasi delle funzionalità specificate.

Funzionalità

L'insieme di funzionalità in base alle quali puoi filtrare.

Enum
NONE Trattato come se non fossero applicati filtri. Sono incluse tutte le funzionalità.
FAVORITES Elementi multimediali contrassegnati dall'utente come preferiti nell'app Google Foto.