Method: mediaItems.search

Sucht in der Google Fotos-Galerie eines Nutzers nach Medienelementen Wenn keine Filter festgelegt sind, werden alle Medienelemente in der Bibliothek des Nutzers zurückgegeben. Wenn ein Album festgelegt wird, werden alle Medienelemente im angegebenen Album zurückgegeben. Wenn Filter festgelegt sind, werden Medienelemente aufgelistet, die den Filtern aus der Bibliothek des Nutzers entsprechen. Wenn Sie sowohl das Album als auch die Filter festlegen, führt die Anforderung zu einem Fehler.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "albumId": string,
  "pageSize": integer,
  "pageToken": string,
  "filters": {
    object (Filters)
  },
  "orderBy": string
}
Felder
albumId

string

ID eines Albums. Wenn dieses Feld ausgefüllt ist, werden alle Medienelemente im angegebenen Album aufgelistet. Kann nicht in Verbindung mit Filtern festgelegt werden.

pageSize

integer

Maximale Anzahl von Medienelementen, die in der Antwort zurückgegeben werden sollen. Möglicherweise werden weniger Medienelemente als die angegebene Anzahl zurückgegeben. Der Standardwert für pageSize ist 25, der Maximalwert ist 100.

pageToken

string

Fortsetzungs-Token für den Abruf der nächsten Ergebnisseite. Wenn Sie diesen Wert in die Anfrage einfügen, werden die Zeilen nach pageToken zurückgegeben. pageToken sollte der Wert sein, der im Parameter nextPageToken in der Antwort auf die searchMediaItems-Anfrage zurückgegeben wird.

filters

object (Filters)

Filter, die auf die Anfrage angewendet werden sollen. Kann nicht in Verbindung mit albumId festgelegt werden.

orderBy

string

Ein optionales Feld zur Angabe der Sortierreihenfolge der Suchergebnisse. Das Feld orderBy funktioniert nur, wenn dateFilter verwendet wird. Wenn dieses Feld nicht angegeben ist, werden die Ergebnisse neueste zuerst, älteste zuletzt ihre creationTime angezeigt. Wenn Sie MediaMetadata.creation_time angeben, werden die Suchergebnisse in umgekehrter Reihenfolge angezeigt, älteste zuerst und neueste zuerst. Fügen Sie das Argument desc so ein, dass die Ergebnisse zuerst und dann die ältesten zuerst angezeigt werden sollen: MediaMetadata.creation_time desc.

Die einzigen zusätzlichen Filter, die mit diesem Parameter verwendet werden können, sind includeArchivedMedia und excludeNonAppCreatedData. Es werden keine anderen Filter unterstützt.

Antworttext

Liste der Medienelemente, die den Suchparametern entsprechen.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Felder
mediaItems[]

object (MediaItem)

Nur Ausgabe Liste der Medienelemente, die den Suchparametern entsprechen.

nextPageToken

string

Nur Ausgabe Mit diesem Token kannst du den nächsten Satz Medienelemente abrufen. Ihre Anwesenheit ist der einzige zuverlässige Indikator dafür, dass in der nächsten Anfrage mehr Medienelemente verfügbar sind.

Autorisierungsbereiche

Erfordert einen der folgenden OAuth-Bereiche:

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

Filter

Filter, die auf eine Medienelementsuche angewendet werden können. Sind mehrere Filteroptionen angegeben, werden sie als UND miteinander behandelt.

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

object (DateFilter)

Die Medienelemente werden basierend auf ihrem Erstellungsdatum gefiltert.

contentFilter

object (ContentFilter)

Die Medienelemente werden basierend auf ihrem Inhalt gefiltert.

mediaTypeFilter

object (MediaTypeFilter)

Filtert die Medienelemente nach Medientyp.

featureFilter

object (FeatureFilter)

Filtert die Medienelemente basierend auf ihren Funktionen.

includeArchivedMedia

boolean

Wenn festgelegt, enthalten die Ergebnisse Medienelemente, die der Nutzer archiviert hat. Die Standardeinstellung ist „false“ (archivierte Medienelemente werden nicht berücksichtigt).

excludeNonAppCreatedData

boolean

Wenn festgelegt, werden Medienelemente, die nicht von dieser App erstellt wurden, aus den Ergebnissen ausgeschlossen. Der Standardwert ist „false“ (alle Medienelemente werden zurückgegeben). Dieses Feld wird ignoriert, wenn der Bereich „photoslibrary.readonly.appcreateddata“ verwendet wird.

DateFilter

Mit diesem Filter werden die zulässigen Datumsangaben oder Zeiträume für die zurückgegebenen Medien definiert. Sie können eine Reihe von spezifischen Daten und Zeiträumen auswählen. Medienelemente, die ohne Metadaten hochgeladen wurden, die das Datum der Aufnahme angeben, werden bei Abfragen mit Datumsfiltern nicht zurückgegeben. Die Uploadzeit des Google Fotos-Servers wird in diesem Fall nicht als Fallback verwendet.

JSON-Darstellung
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Felder
dates[]

object (Date)

Liste mit Datumsangaben, die mit dem Erstellungsdatum der Medienelemente übereinstimmen. Pro Anfrage können maximal 5 Daten angegeben werden.

ranges[]

object (DateRange)

Liste der Datumsbereiche, die mit dem Erstellungsdatum der Medienelemente übereinstimmen. Pro Anfrage können maximal fünf Zeiträume angegeben werden.

Datum

Stellt ein ganzes Kalenderdatum dar. Setzen Sie day auf 0, wenn nur der Monat und das Jahr relevant sind, z. B. der gesamte Dezember 2018. Setzen Sie day und month auf 0, wenn nur das Jahr von Bedeutung ist, z. B. das gesamte Jahr 2018. Setze year auf 0, wenn nur der Tag und der Monat wichtig sind, z. B. ein Jahrestag oder Geburtstag.

Nicht unterstützt: Es werden alle Werte auf 0, nur month auf 0 oder sowohl day als auch year gleichzeitig auf 0 gesetzt.

JSON-Darstellung
{
  "year": integer,
  "month": integer,
  "day": integer
}
Felder
year

integer

Jahr des Datums Muss zwischen 1 und 9999 liegen oder 0 sein, um ein Datum ohne Jahr anzugeben.

month

integer

Monat eines Jahres. Muss zwischen 1 und 12 liegen oder 0 sein, um ein Jahr ohne Monat und Tag anzugeben.

day

integer

Tag des Monats. Muss zwischen 1 und 31 liegen und für das Jahr und den Monat gültig sein oder 0, wenn ein Jahr/Monat angegeben wird, bei dem der Tag keine Bedeutung hat.

DateRange

Definiert einen Zeitraum. Beide Datumsangaben müssen dasselbe Format haben. Weitere Informationen finden Sie unter Date.

JSON-Darstellung
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Felder
startDate

object (Date)

Das Startdatum (als Teil des Bereichs enthalten) in einem der beschriebenen Formate

endDate

object (Date)

Enddatum (als Teil des Zeitraums eingeschlossen) Es muss im selben Format wie das Startdatum angegeben werden.

ContentFilter

Mit diesem Filter können Sie Medienelemente basierend auf dem Inhaltstyp zurückgeben.

Sie können eine Liste der einzuschließenden und/oder auszuschließenden Kategorien angeben. Innerhalb jeder Liste werden die Kategorien mit einem ODER kombiniert.

Mit dem Inhaltsfilter includedContentCategories: [c1, c2, c3] werden Medienelemente zurückgegeben, die (c1 OR c2 OR c3) enthalten.

Mit dem Inhaltsfilter excludedContentCategories: [c1, c2, c3] werden KEINE Medienelemente zurückgegeben, die (c1 OR c2 OR c3) enthalten.

Sie können auch einige Kategorien einschließen und gleichzeitig andere ausschließen. Hier ein Beispiel: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

Im vorherigen Beispiel werden Medienelemente angezeigt, die (c1 OR c2) AND NOT (c3 OR c4) enthalten. Eine Kategorie, die in includedContentategories erscheint, darf nicht in excludedContentCategories enthalten sein.

JSON-Darstellung
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Felder
includedContentCategories[]

enum (ContentCategory)

Die Kategorien, die in den Suchergebnissen der Medienelemente enthalten sein sollen. Die Elemente in der Gruppe sind mit OR verknüpft. Pro Anfrage können maximal 10 includedContentCategories verwendet werden.

excludedContentCategories[]

enum (ContentCategory)

Die Kategorien, die nicht in den Suchergebnissen der Medienelemente enthalten sein sollen. Die Elemente in der Gruppe sind mit OR verknüpft. Pro Anfrage können maximal 10 excludedContentCategories verwendet werden.

ContentCategory

Dies ist eine Reihe vordefinierter Inhaltskategorien, nach denen Sie filtern können.

Enums
NONE Standardmäßige Inhaltskategorie. Diese Kategorie wird ignoriert, wenn im Filter eine andere Kategorie verwendet wird.
LANDSCAPES Medienelemente, die Landschaften enthalten.
RECEIPTS Medienelemente, die Belege enthalten.
CITYSCAPES Medienelemente, die Stadtbilder enthalten.
LANDMARKS Medienelemente, die Orientierungspunkte enthalten.
SELFIES Medienelemente, die Selfies sind.
PEOPLE Medienelemente, die Personen enthalten.
PETS Medienelemente, die Haustiere enthalten.
WEDDINGS Medienartikel von Hochzeiten.
BIRTHDAYS Medieninhalte aus Geburtstagen.
DOCUMENTS Medienelemente, die Dokumente enthalten.
TRAVEL Medienelemente, die auf Reisen aufgenommen wurden.
ANIMALS Medienelemente, die Tiere enthalten
FOOD Medienelemente, die Lebensmittel enthalten.
SPORT Medienelemente von Sportereignissen.
NIGHT Medieninhalte, die nachts aufgenommen wurden.
PERFORMANCES Medienelemente von Auftritten.
WHITEBOARDS Medienelemente, die Whiteboards enthalten.
SCREENSHOTS Medienelemente, die Screenshots sind.
UTILITY Medienelemente, die als Gebrauchsgegenstände gelten. Dazu gehören unter anderem Dokumente, Screenshots und Whiteboards.
ARTS Medienelemente, die Artwork enthalten.
CRAFTS Medienelemente, die Basteln enthalten.
FASHION Medienelemente im Zusammenhang mit Mode.
HOUSES Medienelemente, die Häuser enthalten.
GARDENS Medienelemente mit Gärten.
FLOWERS Medienelemente, die Blumen enthalten.
HOLIDAYS Medienelemente, die aus den Feiertagen genommen wurden.

MediaTypeFilter

Mit diesem Filter wird der Typ der Medienelemente definiert, die zurückgegeben werden sollen, z. B. Videos oder Fotos. Es wird nur ein Medientyp unterstützt.

JSON-Darstellung
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Felder
mediaTypes[]

enum (MediaType)

Die Typen der einzuschließenden Medienelemente. In dieses Feld sollte nur ein Medientyp eingetragen werden. Wenn Sie mehrere Medientypen angeben, wird ein Fehler ausgegeben.

MediaType

Die Medientypen, nach denen gesucht werden kann.

Enums
ALL_MEDIA Wird behandelt, als ob keine Filter angewendet werden. Alle Medientypen sind eingeschlossen.
VIDEO Alle Medienelemente, die als Videos betrachtet werden. Das gilt auch für Filme, die der Nutzer mit der Google Fotos App erstellt hat.
PHOTO Alle Medienelemente, die als Fotos betrachtet werden Dazu gehören .bmp, .gif, .ico, .jpg (und andere Schreibweisen), .tiff, .webp und spezielle Fototypen wie iOS-Live Photos, Android-Fotos mit Bewegtbild, Panoramen und 360°-Fotos.

FeatureFilter

Mit diesem Filter werden die Funktionen definiert, die die Medienelemente haben sollen.

JSON-Darstellung
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Felder
includedFeatures[]

enum (Feature)

Die Funktionen, die in die Suchergebnisse für Medienelemente aufgenommen werden sollen. Die Elemente im Satz sind mit OR verbunden und können mit jedem der angegebenen Merkmale übereinstimmen.

Funktion

Die Funktionen, nach denen gefiltert werden kann.

Enums
NONE Wird behandelt, als ob keine Filter angewendet werden. Alle Funktionen sind inbegriffen.
FAVORITES Medienelemente, die der Nutzer in der Google Fotos App als Favoriten markiert hat