Method: mediaItems.search

Wyszukuje elementów multimedialnych w bibliotece Zdjęć Google użytkownika. Jeśli nie ustawisz żadnych filtrów, zwracane są 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. Liczba elementów multimedialnych, które mogą zostać zwrócone, może być mniejsza 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 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 wyniki wyświetlały się od najnowszych, a potem od najstarszych, dołącz argument desc w następujący sposób: MediaMetadata.creation_time desc.

Jedyne dodatkowe filtry, których można używać z tym parametrem, to includeArchivedMedia i excludeNonAppCreatedData. 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
  • https://www.googleapis.com/auth/photoslibrary.readonly.originals

Filtry

Filtry, które można zastosować do wyszukiwania elementów multimedialnych. Jeśli określisz wiele opcji filtrowania, będą one traktowane jako operatory ORAZ.

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 definiuje dozwolone daty i zakresy dat dla 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 każdej prośbie można uwzględnić maksymalnie 5 dat.

ranges[]

object (DateRange)

Lista zakresów dat, które pasują do daty utworzenia elementów multimedialnych. W każdej prośbie 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 year na 0, jeśli istotny jest tylko dzień i miesiąc, na przykład rocznica lub urodziny.

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 zakresie od 1 do 12 lub od 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 odpowiadać dacie w roku lub miesiącu albo 0, jeśli podana data w roku lub miesiącu nie ma znaczenia.

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 (uwzględniona w zakresie). 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. 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 otrzymano elementy multimedialne, które zawierają (c1 LUB c2) ORAZ NIE (c3 LUB c4). Kategoria, która pojawia się w kategorii includedContentategories, nie może występować w tych krajach: excludedContentCategories.

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

enum (ContentCategory)

Zestaw kategorii, które mają być uwzględniane w wynikach wyszukiwania elementów multimedialnych. 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 będą uwzględniane w wynikach wyszukiwania elementów multimedialnych. 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.
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 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 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. 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, 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 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 zestawie są oznaczone operatorem LUB i mogą pasować do dowolnych ze wskazanych 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ą dostępne.
FAVORITES Elementy multimedialne, które użytkownik oznaczył jako ulubione w aplikacji Zdjęcia Google.