Method: mediaItems.search

Sucht nach Medienelementen in der Google Fotos-Galerie eines Nutzers. Wenn keine Filter festgelegt sind, werden alle Medienelemente in der Mediathek des Nutzers zurückgegeben. Wenn ein Album festgelegt ist, werden alle Medienelemente im angegebenen Album zurückgegeben. Wenn Filter angegeben sind, werden Medienelemente aus der Mediathek des Nutzers aufgelistet, die mit den Filtern übereinstimmen. Wenn Sie sowohl das Album als auch die Filter festlegen, führt die Anfrage 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

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

pageSize

integer

Die maximale Anzahl der Medienelemente, die in der Antwort zurückgegeben werden sollen. Es können weniger Medienelemente zurückgegeben werden als die angegebene Zahl. Der Standardwert für pageSize ist 25, der Höchstwert ist 100.

pageToken

string

Ein Fortsetzungstoken, mit dem die nächste Ergebnisseite abgerufen wird. Wenn Sie diese Zeile zur Anfrage hinzufü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 einem albumId festgelegt werden.

orderBy

string

Optionales Feld, mit dem die Sortierreihenfolge der Suchergebnisse angegeben wird. Das Feld orderBy funktioniert nur, wenn eine dateFilter verwendet wird. Wenn dieses Feld nicht angegeben ist, werden die Ergebnisse nach creationTime sortiert (neueste zuerst, älteste zuletzt). Wenn Sie MediaMetadata.creation_time angeben, werden die Suchergebnisse in umgekehrter Reihenfolge angezeigt, also die ältesten zuerst und die neuesten zuletzt. Wenn die Ergebnisse nach dem neuesten Datum sortiert werden sollen, geben Sie das Argument desc so an: MediaMetadata.creation_time desc.

Die einzigen zusätzlichen Filter, die mit diesem Parameter verwendet werden können, sind includeArchivedMedia und excludeNonAppCreatedData. Andere Filter werden nicht 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 die nächsten Medienelemente abrufen. Das Vorhandensein dieses Parameters ist der einzige zuverlässige Indikator dafür, dass in der nächsten Anfrage weitere 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
  • https://www.googleapis.com/auth/photoslibrary.readonly.originals

Filter

Filter, die auf die Suche nach Medienelementen angewendet werden können. Wenn mehrere Filteroptionen angegeben werden, werden sie als „AND“ miteinander verknüpft.

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

object (DateFilter)

Hiermit werden die Medienelemente nach dem Erstellungsdatum gefiltert.

contentFilter

object (ContentFilter)

Hiermit werden die Medienelemente nach ihrem Inhalt gefiltert.

mediaTypeFilter

object (MediaTypeFilter)

Hiermit werden die Medienelemente nach Medientyp gefiltert.

featureFilter

object (FeatureFilter)

Hiermit werden die Medienelemente anhand ihrer Funktionen gefiltert.

includeArchivedMedia

boolean

Wenn diese Option aktiviert ist, enthalten die Ergebnisse auch Medienelemente, die der Nutzer archiviert hat. Standardeinstellung: „false“ (archivierte Medienelemente sind nicht enthalten).

excludeNonAppCreatedData

boolean

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

DateFilter

Mit diesem Filter werden die zulässigen Datumsangaben oder Datumsbereiche für die zurückgegebenen Medien definiert. Sie können mehrere bestimmte Datumsangaben und Zeiträume auswählen. Medienelemente, die ohne Metadaten hochgeladen wurden, in denen das Datum der Aufnahme angegeben ist, werden in Abfragen mit Datumsfiltern nicht zurückgegeben. Die Upload-Zeit 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 der Datumsangaben, die mit dem Erstellungsdatum der Mediaelemente übereinstimmen. Pro Anfrage können maximal 5 Daten angegeben werden.

ranges[]

object (DateRange)

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

Datum

Stellt ein vollständiges Kalenderdatum dar. Legen Sie day auf 0 fest, wenn nur der Monat und das Jahr relevant sind, z. B. der gesamte Dezember 2018. Legen Sie day und month auf „0“ fest, wenn nur das Jahr relevant ist, z. B. das gesamte Jahr 2018. Legen Sie year auf „0“ fest, wenn nur der Tag und der Monat wichtig sind, z. B. bei einem Jahrestag oder Geburtstag.

Nicht unterstützt: Festlegen aller Werte auf 0, nur month auf 0 oder gleichzeitig day und year auf 0.

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

integer

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

month

integer

Monat eines Jahres. Die Angabe muss zwischen 1 und 12 liegen. Sie kann auch 0 sein, wenn ein Jahr ohne Monat und Tag angegeben wird.

day

integer

Tag des Monats. Die Angabe muss zwischen 1 und 31 liegen und für das Jahr und den Monat gültig sein. Sie kann auch 0 sein, wenn das Jahr bzw. der Monat angegeben wird und der Tag keine Bedeutung hat.

DateRange

Hiermit wird ein Zeitraum definiert. Beide Datumsangaben müssen das gleiche 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 Zeitraums) in einem der beschriebenen Formate.

endDate

object (Date)

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

ContentFilter

Mit diesem Filter kannst du Medienelemente nach 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 ODER c2 ODER c3) enthalten.

Mit dem Inhaltsfilter excludedContentCategories [c1, c2, c3] werden KEINE Medienelemente abgerufen, die (c1 OR c2 OR c3) enthalten.

Sie können auch einige Kategorien einschließen und andere ausschließen, wie in diesem Beispiel: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

Im vorherigen Beispiel werden Medienelemente zurückgegeben, die (c1 ODER c2) UND NICHT (c3 ODER c4) enthalten. Eine Kategorie, die in includedContentategories angezeigt wird, darf nicht in excludedContentCategories enthalten sein.

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

enum (ContentCategory)

Die Kategorien, die in den Suchergebnissen für Medienelemente enthalten sein sollen. Die Elemente im Satz sind mit ODER verknüpft. Pro Anfrage sind maximal 10 includedContentCategories möglich.

excludedContentCategories[]

enum (ContentCategory)

Die Kategorien, die nicht in den Suchergebnissen für Medienelemente enthalten sein sollen. Die Elemente im Satz sind mit ODER verknüpft. Pro Anfrage sind maximal 10 excludedContentCategories zulässig.

ContentCategory

Hier finden Sie eine Reihe vordefinierter Inhaltskategorien, nach denen Sie filtern können.

Enums
NONE Standard-Inhaltskategorie. Diese Kategorie wird ignoriert, wenn eine andere Kategorie im Filter verwendet wird.
LANDSCAPES Medienelemente mit Landschaften
RECEIPTS Medienelemente mit Belegen
CITYSCAPES Medienelemente mit Stadtansichten
LANDMARKS Medieninhalte, die Sehenswürdigkeiten enthalten
SELFIES Medienelemente, die Selfies sind
PEOPLE Medienelemente mit Personen
PETS Medienelemente mit Haustieren.
WEDDINGS Medienelemente von Hochzeiten
BIRTHDAYS Medienelemente von Geburtstagen
DOCUMENTS Medienelemente, die Dokumente enthalten.
TRAVEL Medieninhalte, die während einer Reise aufgenommen wurden
ANIMALS Medienelemente mit Tieren
FOOD Medienobjekte, die Lebensmittel enthalten
SPORT Medienelemente von Sportereignissen.
NIGHT Medieninhalte, die bei Nacht aufgenommen wurden
PERFORMANCES Medienelemente aus Aufführungen
WHITEBOARDS Medienelemente mit Whiteboards
SCREENSHOTS Medienelemente, die Screenshots sind.
UTILITY Medienelemente, die als Dienstprogramm gelten. Dazu gehören unter anderem Dokumente, Screenshots, Whiteboards usw.
ARTS Medienelemente mit Artwork
CRAFTS Medienelemente mit Bastelelementen
FASHION Medienelemente, die sich auf Mode beziehen.
HOUSES Medienelemente mit Häusern
GARDENS Medienelemente mit Gärten
FLOWERS Medienelemente mit Blumen.
HOLIDAYS Medienelemente, die an Feiertagen aufgenommen wurden.

MediaTypeFilter

Dieser Filter definiert den Typ der Medienelemente, 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 Arten von Medienelementen, die eingeschlossen werden sollen. Dieses Feld sollte nur einen Medientyp enthalten. Wenn Sie mehrere Medientypen angeben, wird ein Fehler ausgegeben.

MediaType

Die Medientypen, nach denen gesucht werden kann.

Enums
ALL_MEDIA Wird so behandelt, als wären keine Filter angewendet worden. Alle Medientypen sind enthalten.
VIDEO Alle Medienelemente, die als Videos gelten. 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-Fotos, Android-Bewegtbilder, Panoramen und Fotosphären.

FeatureFilter

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

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

enum (Feature)

Die Funktionen, die in den Suchergebnissen für Medienelemente enthalten sein sollen. Die Elemente in der Gruppe sind mit ODER verknüpft und können mit jedem der angegebenen Elemente übereinstimmen.

Funktion

Die Funktionen, nach denen Sie filtern können.

Enums
NONE Es wird so behandelt, als wären keine Filter angewendet. Alle Funktionen sind inbegriffen.
FAVORITES Medienelemente, die der Nutzer in der Google Fotos App als Favoriten markiert hat.