Method: mediaItems.search

Menelusuri item media di galeri foto Google pengguna. Jika tidak ada filter yang ditetapkan, semua item media di koleksi pengguna akan ditampilkan. Jika album ditetapkan, semua item media dalam album yang ditentukan akan ditampilkan. Jika filter ditentukan, item media yang cocok dengan filter dari library pengguna akan dicantumkan. Jika Anda menetapkan album dan filter, permintaan akan menghasilkan error.

Permintaan HTTP

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

URL menggunakan sintaksis gRPC Transcoding.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

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

string

ID album. Jika diisi, mencantumkan semua item media dalam album yang ditentukan. Tidak dapat ditetapkan bersama dengan filter apa pun.

pageSize

integer

Jumlah maksimum item media yang akan ditampilkan dalam respons. Item media yang ditampilkan mungkin lebih sedikit dari jumlah yang ditentukan. pageSize default adalah 25, maksimum 100.

pageToken

string

Token kelanjutan untuk mendapatkan halaman hasil berikutnya. Menambahkan ini ke permintaan akan menampilkan baris setelah pageToken. pageToken harus berupa nilai yang ditampilkan dalam parameter nextPageToken sebagai respons terhadap permintaan searchMediaItems.

filters

object (Filters)

Filter yang akan diterapkan ke permintaan. Tidak dapat ditetapkan bersama albumId.

orderBy

string

Kolom opsional untuk menentukan urutan pengurutan hasil penelusuran. Kolom orderBy hanya berfungsi jika dateFilter digunakan. Jika kolom ini tidak ditentukan, hasil akan ditampilkan terbaru terlebih dahulu, terlama terakhir berdasarkan creationTime-nya. Menyediakan MediaMetadata.creation_time akan menampilkan hasil penelusuran dalam urutan terbalik, terlama dulu, lalu terbaru terakhir. Untuk menampilkan hasil terbaru terlebih dahulu, lalu terlama terakhir, sertakan argumen desc sebagai berikut: MediaMetadata.creation_time desc.

Satu-satunya filter tambahan yang dapat digunakan dengan parameter ini adalah includeArchivedMedia dan excludeNonAppCreatedData. Tidak ada filter lain yang didukung.

Isi respons

Daftar item media yang cocok dengan parameter penelusuran.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "mediaItems": [
    {
      object (MediaItem)
    }
  ],
  "nextPageToken": string
}
Kolom
mediaItems[]

object (MediaItem)

Hanya output. Daftar item media yang cocok dengan parameter penelusuran.

nextPageToken

string

Hanya output. Gunakan token ini untuk mendapatkan kumpulan item media berikutnya. Kehadirannya adalah satu-satunya indikator yang dapat diandalkan bahwa lebih banyak item media tersedia dalam permintaan berikutnya.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • 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

Filter

Filter yang dapat diterapkan ke penelusuran item media. Jika beberapa opsi filter ditentukan, opsi tersebut akan diperlakukan sebagai DAN satu sama lain.

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

object (DateFilter)

Memfilter item media berdasarkan tanggal pembuatannya.

contentFilter

object (ContentFilter)

Memfilter item media berdasarkan kontennya.

mediaTypeFilter

object (MediaTypeFilter)

Memfilter item media berdasarkan jenis media.

featureFilter

object (FeatureFilter)

Memfilter item media berdasarkan fiturnya.

includeArchivedMedia

boolean

Jika disetel, hasilnya akan mencakup item media yang telah diarsipkan oleh pengguna. Nilai default-nya adalah salah (item media yang diarsipkan tidak disertakan).

excludeNonAppCreatedData

boolean

Jika ditetapkan, hasil akan mengecualikan item media yang tidak dibuat oleh aplikasi ini. Secara default, nilainya adalah salah (semua item media ditampilkan). Kolom ini diabaikan jika cakupan photoslibrary.readonly.appcreateddata digunakan.

DateFilter

Filter ini menentukan tanggal atau rentang tanggal yang diizinkan untuk media yang ditampilkan. Anda dapat memilih serangkaian tanggal tertentu dan serangkaian rentang tanggal. Item media yang diupload tanpa metadata yang menentukan tanggal pengambilan item media tidak akan ditampilkan dalam kueri menggunakan filter tanggal. Waktu upload server Google Foto tidak digunakan sebagai pengganti dalam kasus ini.

Representasi JSON
{
  "dates": [
    {
      object (Date)
    }
  ],
  "ranges": [
    {
      object (DateRange)
    }
  ]
}
Kolom
dates[]

object (Date)

Daftar tanggal yang cocok dengan tanggal pembuatan item media. Maksimal 5 tanggal dapat disertakan per permintaan.

ranges[]

object (DateRange)

Daftar rentang tanggal yang cocok dengan tanggal pembuatan item media. Maksimum 5 rentang tanggal dapat disertakan per permintaan.

Tanggal

Mewakili seluruh tanggal kalender. Tetapkan day ke 0 jika hanya bulan dan tahun yang signifikan, misalnya, semua bulan Desember 2018. Tetapkan day dan month ke 0 jika hanya tahun yang signifikan, misalnya, seluruh tahun 2018. Tetapkan year ke 0 jika hanya hari dan bulan yang penting, misalnya, hari peringatan atau ulang tahun.

Tidak didukung: Menetapkan semua nilai ke 0, hanya month ke 0, atau day dan year ke 0 secara bersamaan.

Representasi JSON
{
  "year": integer,
  "month": integer,
  "day": integer
}
Kolom
year

integer

Tahun dalam tanggal. Harus dari 1 hingga 9999, atau 0 untuk menentukan tanggal tanpa tahun.

month

integer

Bulan dalam setahun. Harus dari 1 hingga 12, atau 0 untuk menentukan tahun tanpa bulan dan hari.

day

integer

Hari dalam bulan. Harus dari 1 hingga 31 dan berlaku untuk tahun dan bulan, atau 0 jika menentukan tahun/bulan jika hari dianggap tidak signifikan.

DateRange

Menentukan rentang tanggal. Kedua tanggal harus dalam format yang sama. Untuk informasi selengkapnya, lihat Date.

Representasi JSON
{
  "startDate": {
    object (Date)
  },
  "endDate": {
    object (Date)
  }
}
Kolom
startDate

object (Date)

Tanggal mulai (disertakan sebagai bagian dari rentang) dalam salah satu format yang dijelaskan.

endDate

object (Date)

Tanggal akhir (disertakan sebagai bagian dari rentang). Tanggal akhir harus ditentukan dalam format yang sama dengan tanggal mulai.

ContentFilter

Filter ini memungkinkan Anda menampilkan item media berdasarkan jenis konten.

Anda dapat menentukan daftar kategori yang akan disertakan, dan/atau daftar kategori yang akan dikecualikan. Di dalam setiap daftar, kategori digabungkan dengan OR.

Filter konten includedContentCategories: [c1, c2, c3] akan mendapatkan item media yang berisi (c1 OR c2 ATAU c3).

Filter konten excludedContentCategories: [c1, c2, c3] TIDAK akan mendapatkan item media yang berisi (c1 ATAU c2 ATAU c3).

Anda juga dapat menyertakan beberapa kategori sekaligus mengecualikan kategori lainnya, seperti dalam contoh ini: includedContentCategories: [c1, c2], excludedContentCategories: [c3, c4]

Contoh sebelumnya akan mendapatkan item media yang berisi (c1 ATAU c2) DAN BUKAN (c3 ATAU c4). Kategori yang muncul di includedContentategories tidak boleh muncul di excludedContentCategories.

Representasi JSON
{
  "includedContentCategories": [
    enum (ContentCategory)
  ],
  "excludedContentCategories": [
    enum (ContentCategory)
  ]
}
Kolom
includedContentCategories[]

enum (ContentCategory)

Kumpulan kategori yang akan disertakan dalam hasil penelusuran item media. Item dalam set di-OR. Ada maksimum 10 includedContentCategories per permintaan.

excludedContentCategories[]

enum (ContentCategory)

Kumpulan kategori yang tidak akan disertakan dalam hasil penelusuran item media. Item dalam kumpulan diberi nilai OR. Ada maksimum 10 excludedContentCategories per permintaan.

ContentCategory

Ini adalah kumpulan kategori konten standar yang dapat Anda filter.

Enum
NONE Kategori konten default. Kategori ini diabaikan jika kategori lainnya digunakan dalam filter.
LANDSCAPES Item media yang berisi lanskap.
RECEIPTS Item media yang berisi tanda terima.
CITYSCAPES Item media yang berisi pemandangan kota.
LANDMARKS Item media yang berisi penanda.
SELFIES Item media yang merupakan selfie.
PEOPLE Item media yang berisi orang.
PETS Item media yang berisi hewan peliharaan.
WEDDINGS Item media dari pernikahan.
BIRTHDAYS Item media dari ulang tahun.
DOCUMENTS Item media yang berisi dokumen.
TRAVEL Item media yang diambil selama perjalanan.
ANIMALS Item media yang berisi hewan.
FOOD Item media yang berisi makanan.
SPORT Item media dari acara olahraga.
NIGHT Item media yang diambil pada malam hari.
PERFORMANCES Item media dari pertunjukan.
WHITEBOARDS Item media yang berisi papan tulis virtual.
SCREENSHOTS Item media yang merupakan screenshot.
UTILITY Item media yang dianggap sebagai utilitas. Ini termasuk, tetapi tidak terbatas pada dokumen, screenshot, papan tulis, dll.
ARTS Item media yang berisi poster.
CRAFTS Item media yang berisi kerajinan tangan.
FASHION Item media yang terkait dengan mode.
HOUSES Item media yang berisi rumah.
GARDENS Item media yang berisi taman.
FLOWERS Item media yang berisi bunga.
HOLIDAYS Item media yang diambil saat liburan.

MediaTypeFilter

Filter ini menentukan jenis item media yang akan ditampilkan, misalnya, video atau foto. Hanya satu jenis media yang didukung.

Representasi JSON
{
  "mediaTypes": [
    enum (MediaType)
  ]
}
Kolom
mediaTypes[]

enum (MediaType)

Jenis item media yang akan disertakan. Kolom ini hanya boleh diisi dengan satu jenis media. Jika Anda menentukan beberapa jenis media, hal ini akan menyebabkan error.

MediaType

Kumpulan jenis media yang dapat ditelusuri.

Enum
ALL_MEDIA Diperlakukan seolah-olah tidak ada filter yang diterapkan. Semua jenis media disertakan.
VIDEO Semua item media yang dianggap sebagai video. Hal ini juga mencakup film yang telah dibuat pengguna menggunakan aplikasi Google Foto.
PHOTO Semua item media yang dianggap sebagai foto. Ini mencakup .bmp, .gif, .ico, .jpg (dan ejaan lainnya), .tiff, .webp, dan jenis foto khusus seperti foto live iOS, foto motion Android, panorama, photosphere.

FeatureFilter

Filter ini menentukan fitur yang harus dimiliki item media.

Representasi JSON
{
  "includedFeatures": [
    enum (Feature)
  ]
}
Kolom
includedFeatures[]

enum (Feature)

Kumpulan fitur yang akan disertakan dalam hasil penelusuran item media. Item dalam set dihubungkan dengan operator ATAU dan dapat cocok dengan salah satu fitur yang ditentukan.

Fitur

Kumpulan fitur yang dapat difilter.

Enum
NONE Diperlakukan seolah-olah tidak ada filter yang diterapkan. Semua fitur disertakan.
FAVORITES Item media yang telah ditandai pengguna sebagai favorit di aplikasi Google Foto.