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 są określone filtry, wyświetlane są elementy multimediów 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. Zwróconych może być mniej elementów multimedialnych niż określona liczba. Wartość domyślna pageSize to 25, a maksymalna – 100.

pageToken

string

token kontynuacji umożliwiający pobranie następnej strony wyników. Dodanie tego do żądania spowoduje zwrócenie wierszy po pageToken. Wartość pageToken powinna być zwracana w parametry 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. Podanie wartości MediaMetadata.creation_time powoduje wyświetlenie wyników wyszukiwania w odwrotnej kolejności, od najstarszych do 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 elementów multimedialnych 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 elementów multimedialnych 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 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 zawartoś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 wartość day na 0, gdy istotne są tylko miesiąc i rok, np. 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: ustawienie wszystkich wartości na 0, tylko month na 0 lub obu parametrów dayyear na 0 w tym samym czasie.

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

integer

Rok daty. Musi być liczbą z zakresu od 1 do 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. Musi być liczbą z zakresu 1–31 i odpowiednią do roku lub miesiąca. Jeśli podajesz rok/miesiąc, w których przypadku dzień nie ma znaczenia, możesz podać 0.

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)

datę rozpoczęcia (włączoną w ramach zakresu) w jednym z opisanych formatów;

endDate

object (Date)

Data zakończenia (włączona w zakres). Musi być ona podana w tym samym formacie co data rozpoczęcia.

ContentFilter

Ten filtr umożliwia zwracanie multimediów na podstawie typu treści.

Możesz podać listę kategorii do uwzględnienia lub listę kategorii do wykluczenia. W każdej liście kategorie są łączone za pomocą operatora 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 dotyczących elementu multimedialnego. 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 pokwitowania.
CITYSCAPES elementy multimedialne zawierają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 Elementy 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 Treści 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 1 typ multimediów.

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. Obejmuje 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, które są 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 czy zdjęcia sferyczne.

FeatureFilter

Ten filtr określa funkcje, 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żesz filtrować.

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