Method: mediaItems.search

Menelusuri item media di galeri Google Foto pengguna. Jika tidak ada filter yang ditetapkan, semua item media di koleksi pengguna akan ditampilkan. Jika album disetel, semua item media di album tertentu akan ditampilkan. Jika filter ditentukan, item media yang cocok dengan filter dari koleksi pengguna akan dicantumkan. Jika Anda menyetel 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 di album yang ditentukan. Tidak dapat ditetapkan bersama dengan filter apa pun.

pageSize

integer

Jumlah maksimum item media yang akan ditampilkan dalam respons. Jumlah item media yang mungkin ditampilkan lebih sedikit dari jumlah yang ditentukan. pageSize default adalah 25, dan 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 pada permintaan. Tidak dapat ditetapkan bersama dengan albumId.

orderBy

string

Kolom opsional untuk menentukan tata urutan hasil penelusuran. Kolom orderBy hanya berfungsi saat dateFilter digunakan. Jika kolom ini tidak ditentukan, hasil akan ditampilkan yang terbaru terlebih dahulu, terlama di belakang berdasarkan creationTime. Menyediakan MediaMetadata.creation_time akan menampilkan hasil penelusuran dalam urutan yang berlawanan, yang terlama terlebih dahulu lalu yang terbaru. Untuk menampilkan hasil yang terbaru terlebih dahulu lalu yang terlama, 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 untuk lebih banyak item media yang tersedia di 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

Filter

Filter yang dapat diterapkan ke penelusuran item media. Jika beberapa opsi filter ditentukan, opsi tersebut 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 ditetapkan, hasilnya akan menyertakan item media yang telah diarsipkan pengguna. Nilai defaultnya adalah false (salah) (item media yang diarsipkan tidak disertakan).

excludeNonAppCreatedData

boolean

Jika disetel, hasilnya akan mengecualikan item media yang tidak dibuat oleh aplikasi ini. Nilai defaultnya adalah false (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 kumpulan tanggal tertentu dan serangkaian rentang tanggal. Item media yang diupload tanpa metadata yang menentukan tanggal item media diambil tidak akan ditampilkan dalam kueri yang menggunakan filter tanggal. Dalam kasus ini, waktu upload server Google Foto tidak digunakan sebagai penggantian.

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

object (Date)

Daftar tanggal yang cocok dengan tanggal pembuatan item media. Maksimum 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 Desember 2018. Tetapkan day dan month ke 0 jika hanya tahun yang signifikan, misalnya, seluruh tahun 2018. Setel year ke 0 jika hanya hari dan bulan yang signifikan, misalnya, hari jadi atau ulang tahun.

Tidak didukung: Menyetel 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 ketika 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 acara 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. Dalam setiap daftar, kategori digabungkan dengan OR.

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

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

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

Contoh sebelumnya akan mendapatkan item media yang berisi (c1 OR c2) DAN NOT (c3 OR 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 diberi OR. Maksimum ada 10 includedContentCategories per permintaan.

excludedContentCategories[]

enum (ContentCategory)

Kumpulan kategori yang tidak akan disertakan dalam hasil penelusuran item media. Item dalam set diberi OR. Maksimum ada 10 excludedContentCategories per permintaan.

ContentCategory

Ini adalah kumpulan kategori konten yang telah ditentukan sebelumnya yang dapat Anda filter.

Enum
NONE Kategori konten default. Kategori ini diabaikan jika kategori lain 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 utilitas. Ini termasuk, tetapi tidak terbatas pada dokumen, screenshot, papan tulis, dll.
ARTS Item media yang berisi gambar.
CRAFTS Item media yang berisi kerajinan.
FASHION Item media yang berkaitan 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 untuk hari libur.

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, akan terjadi 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 video. Hal ini juga mencakup film yang telah dibuat pengguna menggunakan aplikasi Google Foto.
PHOTO Semua item media yang dianggap 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 kumpulan menggunakan nilai OR dan dapat cocok dengan fitur yang ditentukan.

Fitur

Kumpulan fitur yang dapat Anda filter.

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.