Method: mediaItems.search

Cerca elementi multimediali nella raccolta di Google Foto di un utente. Se non viene impostato alcun filtro, 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 filtri, vengono elencati gli elementi multimediali che corrispondono ai filtri della raccolta dell'utente. Se imposti sia l'album sia 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 nessun filtro.

pageSize

integer

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'ordinamento dei risultati della ricerca. Il campo orderBy funziona solo quando si utilizza un dateFilter. Se questo campo non viene specificato, i risultati vengono visualizzati per primi dal meno recente e per ultimo in base al relativo creationTime. Se fornisci MediaMetadata.creation_time, i risultati di ricerca vengono visualizzati in ordine opposto, dal meno recente 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 che corrispondono 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 che corrispondono ai parametri di ricerca.

nextPageToken

string

Solo output. Utilizza questo token per ottenere il successivo insieme 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
  • https://www.googleapis.com/auth/photoslibrary.readonly.originals

Filtri

Filtri che possono essere applicati alla ricerca di elementi multimediali. 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 loro data di creazione.

contentFilter

object (ContentFilter)

Filtra gli elementi multimediali in base ai relativi contenuti.

mediaTypeFilter

object (MediaTypeFilter)

Filtra gli elementi multimediali in base al tipo.

featureFilter

object (FeatureFilter)

Filtra gli elementi multimediali in base alle loro caratteristiche.

includeArchivedMedia

boolean

Se impostato, i risultati includono 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 che non sono stati 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.appcreatedata.

DateFilter

Questo filtro definisce le date o gli intervalli di date consentiti per i contenuti multimediali restituiti. È possibile selezionare un insieme di date specifiche e di intervalli di date. Gli elementi multimediali caricati senza metadati che specificano la data di acquisizione dell'elemento multimediale non verranno restituiti nelle query che utilizzano i filtri della data. In questo caso, il tempo di caricamento del server di Google Foto non viene utilizzato come riserva.

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

object (Date)

Elenco di date che corrispondono a quelle dell'elemento multimediale data di creazione. È possibile includere un massimo di 5 date per richiesta.

ranges[]

object (DateRange)

Elenco di intervalli di date che corrispondono a quelli dell'elemento multimediale data di creazione. È possibile includere un massimo di cinque 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 solo l'anno è significativo, ad esempio tutto il 2018. Imposta year su 0 quando solo il giorno e il mese sono significativi, ad esempio un anniversario o un compleanno.

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

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 dell'anno. Il valore 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 essere nello 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 specificato 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 sono combinate con un operatore OR.

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

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

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

L'esempio precedente otterrebbe elementi multimediali che contengono (c1 OR c2) AND NOT (c3 OR c4). Una categoria presente in includedContentategories non deve apparire in excludedContentCategories.

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

enum (ContentCategory)

L'insieme di categorie da includere nei risultati di ricerca dell'elemento multimediale. Gli elementi del set sono ordinati tramite 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 dell'elemento multimediale. Gli elementi del set sono ordinati tramite OR. Esiste un massimo di 10 excludedContentCategories per richiesta.

ContentCategory

Si tratta di un insieme di categorie di contenuti predefinite in base alle quali puoi applicare un filtro.

Enum
NONE Categoria di contenuti predefinita. Questa categoria viene ignorata quando nel filtro vengono utilizzate altre categorie.
LANDSCAPES Elementi multimediali contenenti paesaggi.
RECEIPTS Elementi multimediali contenenti ricevute.
CITYSCAPES Elementi multimediali che contengono paesaggi urbani.
LANDMARKS Elementi multimediali contenenti punti di riferimento.
SELFIES Elementi multimediali che sono selfie.
PEOPLE Elementi multimediali che contengono persone.
PETS Elementi multimediali che contengono animali domestici.
WEDDINGS Elementi multimediali di matrimoni.
BIRTHDAYS Elementi multimediali dei compleanni.
DOCUMENTS Elementi multimediali contenenti documenti.
TRAVEL Elementi multimediali acquisiti durante il viaggio.
ANIMALS Elementi multimediali contenenti animali.
FOOD Elementi multimediali contenenti cibo.
SPORT Elementi multimediali di eventi sportivi.
NIGHT Elementi multimediali acquisiti di notte.
PERFORMANCES Elementi multimediali delle esibizioni.
WHITEBOARDS Elementi multimediali contenenti lavagne.
SCREENSHOTS Elementi multimediali che sono screenshot.
UTILITY Elementi multimediali considerati utilità. Questi includono, a titolo esemplificativo, documenti, screenshot, lavagne e così via.
ARTS Elementi multimediali contenenti opere d'arte.
CRAFTS Elementi multimediali contenenti creatività.
FASHION Articoli multimediali relativi alla moda.
HOUSES Elementi multimediali che contengono case.
GARDENS Elementi multimediali contenenti giardini.
FLOWERS Elementi multimediali contenenti fiori.
HOLIDAYS Elementi multimediali presi 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 visualizzato un errore.

MediaType

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

Enum
ALL_MEDIA Considerato come se non fosse applicato alcun filtro. Sono inclusi tutti i tipi di media.
VIDEO Tutti gli elementi multimediali che sono 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 Android, panoramiche e foto sferiche.

FeatureFilter

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

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

enum (Feature)

L'insieme di funzionalità da includere nei risultati di ricerca dell'elemento multimediale. Gli elementi nel set sono sottoposti a OR e possono corrispondere a qualsiasi caratteristica specificata.

Funzionalità

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

Enum
NONE Considerato come se non fosse applicato alcun filtro. Sono incluse tutte le funzionalità.
FAVORITES Elementi multimediali che l'utente ha contrassegnato come preferiti nell'app Google Foto.