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 album jest skonfigurowany, zwracane są wszystkie znajdujące się w nim elementy multimedialne. 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 zakończy się błędem.

Żą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łniona, wyświetla wszystkie elementy multimedialne w określonym albumie. Nie można go ustawić 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, który pozwala wyświetlić następną stronę 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ą zostać zastosowane do żądania. Nie można go ustawić w połączeniu z albumId.

orderBy

string

Opcjonalne pole do określania kolejności sortowania wyników wyszukiwania. Pole orderBy działa tylko wtedy, gdy jest używany dateFilter. Jeśli to pole nie jest określone, wyniki są wyświetlane od najnowszych, najstarsze na końcu według wartości 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. Żadne 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 uzyskać następny zestaw elementów multimedialnych. Jego obecność jest jedynym wiarygodnym wskaźnikiem tego, że w kolejnym żądaniu będzie dostępnych więcej elementów multimedialnych.

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 podasz kilka opcji filtra, zostaną one potraktowane jako połączone operatorem logicznym „I”.

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 multimedialne na podstawie typu multimediów.

featureFilter

object (FeatureFilter)

Filtruje elementy multimedialne na podstawie ich funkcji.

includeArchivedMedia

boolean

Jeśli jest ustawiona, wyniki obejmują elementy multimedialne, które użytkownik zarchiwizował. Wartość domyślna to fałsz (zarchiwizowane elementy multimedialne nie są uwzględniane).

excludeNonAppCreatedData

boolean

Jeśli jest ustawione, wyniki nie obejmują elementów multimedialnych, które nie zostały utworzone przez tę aplikację. Wartość domyślna to 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ć konkretne daty oraz zakresy dat. Elementy multimedialne przesłane bez metadanych określających datę ich przechwycenia nie będą zwracane w zapytaniach korzystających z filtrów daty. Czas przesyłania na serwer Zdjęć Google nie jest w tym przypadku używany jako wartość zastępczą.

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

object (Date)

Lista dat pasujących do elementu multimedialnego datę utworzenia. W każdej prośbie można uwzględnić maksymalnie 5 dat.

ranges[]

object (DateRange)

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

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. Wartość musi mieścić się w zakresie od 1 do 9999 lub od 0 do określenia daty 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 przedziale od 1 do 31 i musi być prawidłowa dla roku i miesiąca. W przypadku określenia roku/miesiąca, w którym dzień nie jest istotny, wartość musi mieć wartość 0.

Zakres dat

Definiuje 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 multimediów na podstawie typu treści.

Możesz określić listę kategorii do uwzględnienia lub 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 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 jednocześnie 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ą oznaczone operatorem LUB. Możesz użyć maksymalnie 10 includedContentCategories na żądanie.

excludedContentCategories[]

enum (ContentCategory)

Zestaw kategorii, które nie będą uwzględniane w wynikach wyszukiwania elementów multimedialnych. Elementy w zestawie są oznaczone operatorem LUB. Możesz użyć maksymalnie 10 excludedContentCategories na żądanie.

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 wykorzystywana jest jakakolwiek inna kategoria.
LANDSCAPES Elementy multimedialne zawierające krajobrazy.
RECEIPTS Elementy multimedialne zawierające rachunki.
CITYSCAPES Elementy multimedialne zawierające pejzaże miast.
LANDMARKS Elementy multimedialne zawierające punkty orientacyjne.
SELFIES materiały multimedialne będące selfie.
PEOPLE Elementy multimedialne zawierające osoby.
PETS Elementy multimedialne zawierające zwierzęta.
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 uważane za użytkowe. Mogą to być między innymi dokumenty, zrzuty ekranu, tablice wirtualne itp.
ARTS Elementy multimedialne zawierające grafikę
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 do zwrócenia (np. filmów lub zdjęć). 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 jeden typ zawartości. Jeśli podasz wiele typów multimedió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 uważane 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. Mogą to być pliki .bmp, .gif, .ico, .jpg (i inna pisownia), .tiff, .webp oraz specjalne typy zdjęć, takie jak zdjęcia Live Photo w iOS, zdjęcia ruchome na Androidzie, panoramy, 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ędniane w wynikach wyszukiwania elementów multimedialnych. Elementy w zestawie są oznaczone operatorem LUB i mogą pasować do dowolnych ze wskazanych 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.