Method: mediaItems.search

Wyszukuje elementów multimedialnych w bibliotece Zdjęć Google użytkownika. Jeśli nie ustawisz żadnych filtrów, zwrócone zostaną wszystkie elementy multimedialne w bibliotece użytkownika. Jeśli ustawiony jest album, zwracane są wszystkie elementy multimedialne z wybranego albumu. Jeśli zostały określone filtry, na liście znajdują się elementy multimedialne pasujące do filtrów z biblioteki użytkownika. Jeśli ustawisz zarówno album, jak i filtry, żądanie spowoduje błąd.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

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

string

Identyfikator albumu. Jeśli jest wypełniony, zawiera listę wszystkich multimediów w określonym albumie. Nie można go stosować w połączeniu z żadnymi filtrami.

pageSize

integer

Maksymalna liczba elementów multimedialnych do zwrócenia w odpowiedzi. Liczba elementów multimedialnych, które mogą zostać zwrócone, może być mniejsza niż określona liczba. Wartość domyślna pageSize to 25, maksymalna to 100.

pageToken

string

token kontynuacji umożliwiający pobranie następnej strony wyników. Dodanie go do żądania spowoduje zwrócenie wierszy po elemencie pageToken. Wartość pageToken powinna być zwracana w parametrye nextPageToken w odpowiedzi na żądanie searchMediaItems.

filters

object (Filters)

Filtry, które mają być stosowane do żądania. Nie można go ustawić w połączeniu z elementem albumId.

orderBy

string

Opcjonalne pole do określania kolejności sortowania wyników wyszukiwania. Pole orderBy działa tylko wtedy, gdy jest używany element dateFilter. Jeśli to pole nie jest określone, wyniki są wyświetlane od najnowszego do najstarszego według creationTime. Jeśli podasz MediaMetadata.creation_time, wyniki wyszukiwania będą wyświetlane w odwrotnej kolejności: od najstarszych, a potem od najnowszych. Aby wyświetlać wyniki od najnowszego do najstarszego, dodaj argument desc w ten sposób: MediaMetadata.creation_time desc.

Jedynymi dodatkowymi filtrami, których można używać z tym parametrem, są includeArchivedMediaexcludeNonAppCreatedData. Inne filtry nie są obsługiwane.

Treść odpowiedzi

Lista multimediów pasujących do parametrów wyszukiwania.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Pola
mediaItems[]

object (MediaItem)

Tylko dane wyjściowe. Lista multimediów pasujących do parametrów wyszukiwania.

nextPageToken

string

Tylko dane wyjściowe. Użyj tego tokena, aby pobrać kolejny zestaw elementów multimedialnych. Jego obecność jest jedynym wiarygodnym wskaźnikiem, że w następnym żądaniu będą dostępne dodatkowe elementy multimedialne.

Zakresy autoryzacji

Wymaga jednego z tych zakresów protokołu OAuth:

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

Filtry

Filtry, które można zastosować do wyszukiwania elementów multimedialnych. Jeśli podasz kilka opcji filtra, zostaną one potraktowane jako połączone operatorem AND.

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

object (DateFilter)

Filtruje elementy multimedialne na podstawie daty ich utworzenia.

contentFilter

object (ContentFilter)

Filtruje elementy multimedialne na podstawie ich treści.

mediaTypeFilter

object (MediaTypeFilter)

Filtruje elementy multimediów według typu multimediów.

featureFilter

object (FeatureFilter)

Filtruje elementy multimedialne na podstawie ich funkcji.

includeArchivedMedia

boolean

Jeśli jest ustawiony, wyniki obejmują elementy multimedialne zarchiwizowane przez użytkownika. Wartość domyślna to fałsz (nie uwzględnia zarchiwizowanych multimediów).

excludeNonAppCreatedData

boolean

Jeśli jest ustawiony, wyniki wykluczają elementy multimedialne, które nie zostały utworzone przez tę aplikację. Domyślnie ustawiona jest wartość „fałsz” (zwracane są wszystkie elementy multimedialne). To pole jest ignorowane, jeśli używany jest zakres photoslibrary.readonly.appcreateddata.

DateFilter

Ten filtr określa dozwolone daty lub zakresy dat zwracanych multimediów. Możesz wybrać zestaw konkretnych dat i zakresów dat. Elementy multimedialne przesłane bez metadanych określających datę ich utworzenia nie będą zwracane w zapytaniach z filtrami daty. W tym przypadku czas przesyłania na serwer Zdjęć Google nie jest używany jako wartość domyślna.

Zapis JSON
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Pola
dates[]

object (Date)

Lista dat odpowiadających dacie utworzenia elementów multimedialnych. W prośbie można uwzględnić maksymalnie 5 danych.

ranges[]

object (DateRange)

Lista zakresów dat odpowiadających dacie utworzenia elementów multimedialnych. W każdym żądaniu można uwzględnić maksymalnie 5 zakresów dat.

Data

Reprezentuje całą datę kalendarzową. Ustaw day na 0, jeśli tylko miesiąc i rok mają znaczenie, na przykład cały grudzień 2018 r. Ustaw wartości daymonth na 0, jeśli liczy się tylko rok, np. cały rok 2018. Ustaw wartość year na 0, jeśli ważne są tylko dzień i miesiąc, np. w przypadku rocznicy czy urodzin.

Nieobsługiwane: wszystkie wartości są ustawione na 0, tylko month na 0 lub day i year na 0 jednocześnie.

Zapis JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Pola
year

integer

Rok daty. Musi być liczbą z zakresu 1–9999 lub 0, jeśli chcesz podać datę bez roku.

month

integer

Miesiąc w roku. Wartość musi mieścić się w przedziale od 1 do 12, lub 0, jeśli chcesz określić rok bez miesiąca i dnia.

day

integer

Dzień miesiąca. Wartość musi mieścić się w zakresie od 1 do 31 i musi być prawidłowa dla roku i miesiąca lub musi mieć wartość 0, jeśli określa się rok/miesiąc, w którym dzień nie jest istotny.

Zakres dat

Określa zakres dat. Obie daty muszą mieć ten sam format. Więcej informacji znajdziesz w artykule Date.

Zapis JSON
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Pola
startDate

object (Date)

Data rozpoczęcia (uwzględniona w zakresie) w jednym z opisanych formatów.

endDate

object (Date)

Data zakończenia (uwzględniona w zakresie). Musi być ona podana w tym samym formacie co data rozpoczęcia.

ContentFilter

Ten filtr umożliwia zwracanie elementów multimedialnych na podstawie ich typu.

Możesz podać listę kategorii do uwzględnienia lub listę kategorii do wykluczenia. Kategorie na każdej liście są połączone operatorem LUB.

Filtr treści includedContentCategories: [c1, c2, c3] zwróci elementy multimedialne, które zawierają (c1 LUB c2 LUB c3).

Filtr treści excludedContentCategories: [c1, c2, c3] NIE będzie uwzględniał elementów multimedialnych zawierających (c1 OR c2 OR c3).

Możesz też uwzględnić niektóre kategorie, a wykluczyć inne, jak w tym przykładzie: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4].

W poprzednim przykładzie zostaną wybrane elementy multimedialne, które zawierają (c1 LUB c2) I NIE (c3 LUB c4). Kategoria, która pojawia się w sekcji includedContentategories, nie może pojawiać się w sekcji excludedContentCategories.

Zapis JSON
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Pola
includedContentCategories[]

enum (ContentCategory)

Zestaw kategorii, które mają być uwzględnione w wynikach wyszukiwania treści multimedialnej. Elementy w zestawie są połączone za pomocą operatora LUB. Na każde żądanie może przypadać maksymalnie 10 includedContentCategories.

excludedContentCategories[]

enum (ContentCategory)

Zestaw kategorii, które nie mają być uwzględniane w wynikach wyszukiwania dotyczących elementu multimedialnego. Elementy w zestawie są połączone za pomocą operatora LUB. Na każde żądanie może przypadać maksymalnie 10 excludedContentCategories.

ContentCategory

To zbiór wstępnie zdefiniowanych kategorii treści, według których możesz filtrować.

Wartości w polu enum
NONE Domyślna kategoria treści. Ta kategoria jest ignorowana, gdy w filtrze jest używana inna kategoria.
LANDSCAPES Elementy multimedialne zawierające krajobrazy.
RECEIPTS Elementy multimedialne zawierające rachunki.
CITYSCAPES elementy multimedialne przedstawiające krajobrazy miejskie;
LANDMARKS Elementy multimedialne zawierające punkty orientacyjne.
SELFIES elementy multimedialne będące selfie;
PEOPLE Elementy multimedialne zawierające osoby.
PETS elementy multimedialne zawierające zwierzęta domowe;
WEDDINGS Materiały multimedialne z wesel.
BIRTHDAYS Elementy multimedialne z urodzin.
DOCUMENTS Elementy multimedialne zawierające dokumenty.
TRAVEL elementy multimedialne wykonane podczas podróży;
ANIMALS elementy multimedialne zawierające zwierzęta;
FOOD Elementy multimedialne zawierające jedzenie.
SPORT elementy multimedialne z wydarzeń sportowych.
NIGHT Elementy multimedialne wykonane w nocy.
PERFORMANCES elementy multimedialne z występów,
WHITEBOARDS Elementy multimedialne zawierające tablice.
SCREENSHOTS Elementy multimedialne, które są zrzutami ekranu.
UTILITY Elementy multimedialne, które są uważane za przydatne. Dotyczy to między innymi dokumentów, zrzutów ekranu, tablic.
ARTS elementy multimedialne zawierające elementy graficzne.
CRAFTS elementy multimedialne zawierające rękodzieło.
FASHION Elementy multimedialne związane z modą.
HOUSES Elementy multimedialne zawierające domy.
GARDENS Elementy multimedialne zawierające ogrody.
FLOWERS Elementy multimedialne zawierające kwiaty.
HOLIDAYS Elementy multimedialne przedstawiające święta.

MediaTypeFilter

Ten filtr określa typ elementów multimedialnych, które mają zostać zwrócone, np. filmy lub zdjęcia. Obsługiwany jest tylko jeden typ zawartości.

Zapis JSON
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Pola
mediaTypes[]

enum (MediaType)

Typy elementów multimedialnych do uwzględnienia. To pole powinno zawierać tylko 1 typ zawartości. Jeśli określisz kilka typów mediów, wystąpi błąd.

MediaType

Zestaw typów multimediów, które można przeszukać.

Wartości w polu enum
ALL_MEDIA traktowane tak, jakby nie zastosowano żadnych filtrów. Uwzględniane są wszystkie typy multimediów.
VIDEO Wszystkie elementy multimedialne, które są uznawane za filmy. Obejmuje to również filmy utworzone przez użytkownika w aplikacji Zdjęcia Google.
PHOTO Wszystkie elementy multimedialne uznawane za zdjęcia. Dotyczy to formatów .bmp, .gif, .ico, .jpg (i innych), .tiff, .webp oraz specjalnych typów zdjęć, takich jak zdjęcia Live Photo na iOS, zdjęcia filmowe na Androidzie, panoramy i sfery.

FeatureFilter

Ten filtr określa cechy, które powinny mieć elementy multimedialne.

Zapis JSON
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Pola
includedFeatures[]

enum (Feature)

Zestaw funkcji, które mają być uwzględnione w wynikach wyszukiwania dotyczących elementu multimedialnego. Elementy w zbiorze są łączone za pomocą funkcji LUB i mogą pasować do dowolnej z wybranych cech.

Funkcja

Zestaw funkcji, według których można filtrować.

Wartości w polu enum
NONE traktowane tak, jakby nie zastosowano żadnych filtrów. Wszystkie funkcje są dostępne.
FAVORITES elementy multimedialne oznaczone przez użytkownika jako ulubione w aplikacji Zdjęcia Google.