Method: mediaItems.search

Es wird in der Google Fotos-Mediathek eines Nutzers nach Medienelementen gesucht. Wenn keine Filter festgelegt sind, werden alle Medienelemente in der Mediathek des Nutzers zurückgegeben. Wenn ein Album festgelegt wurde, 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

ID 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 werden möglicherweise weniger Medienelemente zurückgegeben als die angegebene Anzahl. 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

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 festgelegt, werden in den Ergebnissen keine Medienelemente angezeigt, die nicht von dieser App erstellt wurden. Die Standardeinstellung ist „false“, das heißt, 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 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 Medienelemente übereinstimmen. Pro Anfrage können maximal 5 Datumsangaben enthalten sein.

ranges[]

object (DateRange)

Liste der Zeiträume, die mit dem Erstellungsdatum der Mediaelemente ü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. Setzen Sie day und month auf 0, wenn nur das Jahr signifikant ist, z. B. das gesamte Jahr 2018. Setzen Sie year auf 0, wenn nur der Tag und der Monat wichtig sind, z. B. ein Jahrestag oder ein 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. Es muss zwischen 1 und 9999 liegen oder kann 0 sein, wenn ein Datum ohne Jahresangabe angegeben wird.

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 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 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 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 ODER c2 ODER c3) enthalten.

Mit dem Inhaltsfilter excludedContentCategories: [c1, c2, c3] werden KEINE Medienelemente zurückgegeben, die (c1 ODER c2 ODER 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 werden OR-verknüpft. Pro Anfrage sind maximal 10 includedContentCategories zulässig.

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

Hierbei handelt es sich um eine Reihe vordefinierter Inhaltskategorien, nach denen Sie filtern können.

Enums
NONE Standardinhaltskategorie. Diese Kategorie wird ignoriert, wenn im Filter eine andere Kategorie verwendet wird.
LANDSCAPES Medienelemente mit Landschaften
RECEIPTS Medienelemente mit Belegen
CITYSCAPES Medieninhalte, die Stadtansichten enthalten.
LANDMARKS Medienelemente mit Markierungen
SELFIES Medienelemente, die Selfies sind
PEOPLE Medieninhalte, die Personen enthalten.
PETS Medienelemente mit Haustieren
WEDDINGS Medienelemente von Hochzeiten
BIRTHDAYS Medienelemente von Geburtstagen.
DOCUMENTS Medienobjekte, die Dokumente enthalten
TRAVEL Medienelemente, die während einer Reise aufgenommen wurden.
ANIMALS Medienelemente mit Tieren
FOOD Medienelemente mit Lebensmitteln
SPORT Medienelemente von Sportveranstaltungen
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 nützlich erachtet werden. 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

Mit diesem Filter wird die Art der zurückzugebenden Medienelemente definiert, 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, führt dies zu einem Fehler.

MediaType

Die Medientypen, nach denen gesucht werden kann.

Enums
ALL_MEDIA Es wird so behandelt, als wären keine Filter angewendet. Alle Medientypen sind enthalten.
VIDEO Alle Medienelemente, die als Videos gelten. Dazu gehören auch 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 im Set werden mit ODER verknüpft und können mit einer beliebigen der angegebenen Funktionen übereinstimmen.

Funktion

Die Funktionen, nach denen gefiltert werden kann.

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.