Method: mediaItems.search

Wyszukuje elementy multimedialne w bibliotece Zdjęć Google użytkownika. Jeśli nie ustawiono żadnych filtrów, zwracane są wszystkie elementy multimedialne z biblioteki użytkownika. Jeśli album jest skonfigurowany, zwracane są wszystkie elementy multimedialne w określonym albumie. Jeśli używasz filtrów, na liście pojawią się elementy multimedialne pasujące do filtrów z biblioteki użytkownika. Jeśli ustawisz zarówno album, jak i filtry, żądanie zwróci 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 ta opcja jest wypełniona, pokazuje wszystkie elementy multimedialne w określonym albumie. Nie można ustawić w połączeniu z żadnymi filtrami.

pageSize

integer

Maksymalna liczba elementów multimedialnych, które mają zostać zwrócone w odpowiedzi. Można zwrócić mniej elementów multimedialnych niż określona liczba. Wartość domyślna pageSize to 25, a maksymalna to 100.

pageToken

string

Token kontynuacji, który pozwala wyświetlić następną stronę wyników. Dodanie tego elementu do żądania zwraca wiersze po kolumnie pageToken. pageToken powinna być wartością zwracaną w parametrze nextPageToken w odpowiedzi na żądanie searchMediaItems.

filters

object (Filters)

Filtry, które mają być zastosowane do żądania. Nie można używać w połączeniu z elementem albumId.

orderBy

string

Opcjonalne pole określające kolejność sortowania wyników wyszukiwania. Pole orderBy działa tylko wtedy, gdy używane jest pole dateFilter. Jeśli to pole nie jest określone, wyniki są wyświetlane jako pierwsze, najstarsze według atrybutu creationTime. Podanie parametru MediaMetadata.creation_time powoduje wyświetlanie wyników wyszukiwania w odwrotnej kolejności – od najstarszych, a potem od najnowszych. Aby wyniki były wyświetlane jako pierwsze, a następnie najstarsze, dołącz argument desc w ten sposób: MediaMetadata.creation_time desc.

Jedyne filtry dodatkowe, których można używać z tym parametrem, to includeArchivedMedia i excludeNonAppCreatedData. Nie są obsługiwane żadne inne filtry.

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 uzyskać następny zestaw elementów multimedialnych. Jest to jedyny wiarygodny wskaźnik, że w kolejnym żądaniu jest dostępnych więcej elementów multimedialnych.

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 określisz wiele opcji filtrowania, będą one traktowane jako operator 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 utworzenia.

contentFilter

object (ContentFilter)

Filtruje elementy multimedialne na podstawie ich treści.

mediaTypeFilter

object (MediaTypeFilter)

Filtruje elementy multimedialne na podstawie ich typu.

featureFilter

object (FeatureFilter)

Filtruje elementy multimedialne na podstawie ich cech.

includeArchivedMedia

boolean

Jeśli zasada jest skonfigurowana, wyniki obejmują elementy multimedialne zarchiwizowane przez użytkownika. Wartość domyślna to fałsz (archiwalne elementy multimedialne nie są uwzględniane).

excludeNonAppCreatedData

boolean

Jeśli zasada jest skonfigurowana, wyniki wykluczają elementy multimedialne, które nie zostały utworzone przez tę aplikację. Wartość domyślna to fałsz (wszystkie elementy multimedialne są zwracane). To pole jest ignorowane, jeśli używany jest zakres photoslibrary.readonly.appcreateddata.

DateFilter

Ten filtr określa dozwolone daty lub zakresy dat dla zwracanych mediów. Istnieje możliwość wyboru zbioru konkretnych dat i zakresów. Elementy multimedialne przesłane bez metadanych, w których określono datę ich zrobienia, nie będą zwracane w zapytaniach korzystających z filtrów dat. W tym przypadku czas przesyłania z serwera Zdjęć Google nie jest używany.

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

object (Date)

Lista dat pasujących do daty utworzenia elementów multimedialnych. Prośba może obejmować maksymalnie 5 dat.

ranges[]

object (DateRange)

Lista zakresów dat pasujących do daty utworzenia elementu multimedialnego. W jednym żą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. Jeśli istotny jest tylko rok, np. cały 2018 rok, ustaw day i month na 0. Ustaw year na 0, gdy tylko dzień i miesiąc są ważne (np. rocznica lub urodziny).

Nieobsługiwane: ustawienie wszystkich wartości na 0, tylko month na 0 lub jednoczesne ustawienie wartości day i year na 0.

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

integer

Rok daty. Wartość musi mieścić się w przedziale od 1 do 9999 lub 0, jeśli chcesz określić datę bez roku.

month

integer

Miesiąc roku. Należy podać wartość z zakresu od 1 do 12 lub 0, aby określić rok bez miesiąca i dnia.

day

integer

Dzień miesiąca. Musi mieć wartość od 1 do 31 i być ważna dla roku i miesiąca lub 0 w przypadku roku/miesiąca, w którym dzień nie jest istotny.

DateRange

Określa zakres dat. Obie daty muszą mieć ten sam format. Więcej informacji: 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 mieć ten sam format co data rozpoczęcia.

ContentFilter

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

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

Filtr treści includedContentCategories: [c1, c2, c3] otrzymałby elementy multimedialne, które zawierają (c1 OR c2 OR c3).

Filtr treści excludedContentCategories: [c1, c2, c3] NIE otrzyma elementów multimedialnych, które zawierają (c1 OR c2 OR c3).

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

W poprzednim przykładzie zostaną wyświetlone elementy multimedialne, które zawierają (c1 LUB c2) ORAZ NIE (c3 LUB c4). Kategoria, która pojawia się w argumencie includedContentategories, nie może występować w argumencie excludedContentCategories.

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

enum (ContentCategory)

Zestaw kategorii, które mają być uwzględniane w wynikach wyszukiwania elementu multimedialnego. Elementy w zestawie są połączone operatorem LUB. Żądanie może zawierać maksymalnie 10 elementów includedContentCategories.

excludedContentCategories[]

enum (ContentCategory)

Zestaw kategorii, które nie mają być uwzględniane w wynikach wyszukiwania elementu multimedialnego. Elementy w zestawie są połączone operatorem LUB. Żądanie może zawierać maksymalnie 10 elementów excludedContentCategories.

ContentCategory

Jest to zestaw 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 jakakolwiek inna kategoria.
LANDSCAPES Elementy multimedialne zawierające krajobrazy.
RECEIPTS Elementy multimedialne zawierające rachunki.
CITYSCAPES Elementy multimedialne zawierające widoki miast.
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 ze ślubów.
BIRTHDAYS Elementy multimedialne z urodzin.
DOCUMENTS Elementy multimedialne zawierające dokumenty.
TRAVEL Elementy multimedialne zarejestrowane w podróży.
ANIMALS Elementy multimedialne zawierające zwierzęta.
FOOD Elementy multimedialne zawierające jedzenie.
SPORT Elementy multimedialne z wydarzeń sportowych.
NIGHT Elementy multimedialne zarejestrowane w nocy.
PERFORMANCES Elementy multimedialne z występów.
WHITEBOARDS Elementy multimedialne zawierające tablice.
SCREENSHOTS elementy multimedialne będące zrzutami ekranu.
UTILITY Elementy multimedialne uważane za przydatne. Dotyczy to m.in. dokumentów, zrzutów ekranu, tablic itp.
ARTS Elementy multimedialne zawierające grafikę.
CRAFTS Elementy multimedialne zawierające treści o rękodziełach.
FASHION Produkty 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 zrobione w okresie świątecznym.

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, które mają zostać uwzględnione. To pole powinno zawierać tylko jeden typ mediów. Jeśli podasz kilka typów multimediów, pojawi się błąd.

MediaType

Zbiór typów multimediów, których można wyszukać.

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 też 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 odmian pisowni), .tiff, .webp, oraz specjalnych typów zdjęć, takich jak zdjęcia na żywo w iOS, zdjęcia ruchome Androida, panoramy, zdjęcia sferyczne.

FeatureFilter

Ten filtr definiuje funkcje, jakie powinny mieć elementy multimedialne.

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

enum (Feature)

Zestaw funkcji, które mają być uwzględniane w wynikach wyszukiwania elementu multimedialnego. Elementy w zestawie są połączone operatorem LUB i mogą pasować do dowolnej 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ą wliczone w cenę.
FAVORITES elementy multimedialne, które użytkownik oznaczył jako ulubione w aplikacji Zdjęcia Google;