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 ditetapkan, semua item media dalam album yang ditentukan 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 terisi, cantumkan semua item media dalam album yang ditentukan. Tidak dapat ditetapkan bersama filter apa pun.

pageSize

integer

Jumlah maksimum item media yang akan ditampilkan dalam respons. Item media yang mungkin ditampilkan lebih sedikit daripada 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 menjadi nilai yang ditampilkan dalam parameter nextPageToken sebagai respons terhadap permintaan searchMediaItems.

filters

object (Filters)

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

orderBy

string

Kolom opsional untuk menentukan tata urutan hasil penelusuran. Kolom orderBy hanya berfungsi jika dateFilter digunakan. Jika kolom ini tidak ditentukan, hasil akan ditampilkan dari yang terbaru terlebih dahulu, yang terlama di akhir menurut creationTime. Memberikan MediaMetadata.creation_time akan menampilkan hasil penelusuran dalam urutan yang berlawanan, yang terlama terlebih dahulu lalu terbaru terakhir. Untuk menampilkan hasil yang terbaru, pertama 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 merupakan satu-satunya indikator yang dapat diandalkan untuk lebih banyak item media yang 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 ditetapkan, hasilnya akan menyertakan item media yang telah diarsipkan 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. Dalam kasus ini, waktu upload server Google Foto tidak digunakan sebagai pengganti.

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

object (Date)

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

ranges[]

object (DateRange)

Daftar rentang tanggal yang sesuai dengan item media tanggal pembuatan. 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 tahunnya yang signifikan, misalnya, sepanjang 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 tidak signifikan.

DateRange

Menentukan rentang tanggal. Kedua tanggal harus memiliki 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 tersebut dikombinasikan dengan ATAU.

Filter konten includedContentCategories: [c1, c2, c3] akan mendapatkan item media yang berisi (c1 ATAU 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 OR c2) AND 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 di-OR. Maksimum ada 10 includedContentCategories per permintaan.

excludedContentCategories[]

enum (ContentCategory)

Kumpulan kategori yang tidak akan disertakan dalam hasil penelusuran item media. Item dalam kumpulan diberi nilai 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 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 tempat terkenal.
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 berupa screenshot.
UTILITY Item media yang dianggap utilitas. Hal ini mencakup, tetapi tidak terbatas pada dokumen, screenshot, papan tulis virtual, dll.
ARTS Item media yang berisi karya seni.
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, error akan terjadi.

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 dibuat pengguna menggunakan aplikasi Google Foto.
PHOTO Semua item media yang dianggap sebagai foto. Format ini mencakup .bmp, .gif, .ico, .jpg (dan ejaan lainnya), .tiff, .webp, dan jenis foto khusus seperti foto live iOS, foto gerakan 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 ini diberi OR dan mungkin 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.