Mencantumkan dan mengambil item media

Setelah pengguna memilih item media menggunakan Picker API, Anda dapat mengambil informasi tentang item media tersebut dan mengakses kontennya. Panduan ini menguraikan proses mencantumkan dan mengambil item media.

Sebelum memulai

  • Pahami alurnya: Tinjau mulai menggunakan Picker API untuk mengetahui ringkasan seluruh proses pemilihan foto.
  • Selesaikan pemilihan item media: Pastikan pengguna telah berhasil memilih item media dari sesi mereka. Lihat panduan tentang sesi untuk mengetahui detail selengkapnya.
  • Tinjau cakupan otorisasi yang diperlukan: Untuk menggunakan sesi, Anda memerlukan cakupan photospicker.mediaitems.readonly. Untuk mengetahui informasi selengkapnya tentang cakupan, lihat Cakupan otorisasi.

Mencantumkan item media yang dipilih

  1. Gunakan endpoint mediaItems.list: Buat permintaan GET ke https://photospicker.googleapis.com/v1/mediaItems, dengan memberikan sessionId sebagai parameter kueri.

  2. Menangani penomoran halaman (jika perlu):

    Jika pengguna memilih banyak item, responsnya mungkin diberi nomor halaman. Gunakan nextPageToken dalam respons untuk mengambil halaman hasil berikutnya.

  3. Memproses item media: Respons akan berisi array objek PickedMediaItem, yang masing-masing mewakili item media yang dipilih. Objek ini mencakup detail penting seperti:

    • id: ID unik untuk item media.
    • baseUrl: URL dasar tempat Anda dapat membuat URL untuk mengakses konten item media dalam berbagai resolusi.
    • mimeType: Jenis MIME item media (misalnya, image/jpeg, video/mp4).

Mengambil item media yang dipilih

Pastikan Anda memiliki token akses OAuth 2.0 yang valid dengan cakupan https://www.googleapis.com/auth/photospicker.mediaitems.readonly untuk memberikan otorisasi pada permintaan Anda.

  • Buat URL konten: Gunakan baseUrl dari objek PickedMediaItem. Tambahkan resolusi atau format file ke baseUrl. Lihat bagian tentang URL dasar untuk mengetahui detail selengkapnya.

  • Mengambil konten: Buat permintaan GET ke URL dasar item media. Respons akan berisi byte item media (gambar atau video). Ada beberapa opsi baseURL yang berbeda yang tersedia.

URL Dasar

URL dasar di Google Photos API memberikan akses ke byte mentah item media, sehingga aplikasi Anda dapat mendownload atau menampilkannya. URL ini disertakan dalam respons saat mencantumkan album (Library API) atau mengakses item media (Library API dan Picker API). Ingat, URL dasar memerlukan parameter tambahan agar dapat berfungsi dengan benar.

Untuk Picker API:

Semua objek PickedMediaItem.mediaFile menyertakan baseUrl.

URL dasar tetap aktif selama 60 menit, tetapi dapat berakhir lebih cepat jika pengguna membatalkan izin aplikasi Anda melalui setelan Akun Google mereka.

Untuk Library API:

URL dasar tetap aktif selama 60 menit.

Berbagai URL dasarnya adalah:

  • baseUrl: Mengakses foto, thumbnail untuk video, atau mendownload byte video secara langsung.
  • coverPhotoBaseUrl: Mengakses langsung foto sampul untuk album.
  • profilePictureBaseUrl: Mengakses foto profil pemilik mediaItem secara langsung.

URL image base

Berikut daftar opsi yang dapat Anda gunakan dengan URL dasar gambar:

Parameter
w, h

Deskripsi

Parameter lebar, w, dan tinggi, h.

Untuk mengakses item media gambar, seperti foto atau thumbnail untuk video, Anda harus menentukan dimensi yang ingin ditampilkan di aplikasi (sehingga gambar dapat diskalakan ke dimensi ini sekaligus mempertahankan rasio aspek). Untuk melakukannya, gabungkan URL dasar dengan dimensi yang diperlukan seperti yang ditunjukkan dalam contoh.

Contoh:

base-url=wmax-width-hmax-height

Berikut adalah contoh untuk menampilkan item media yang tidak lebih lebar dari 2048 piksel dan tidak lebih tinggi dari 1024 piksel:

https://lh3.googleusercontent.com/p/AF....VnnY=w2048-h1024
c

Deskripsi

Pemangkasan, parameter c.

Jika Anda ingin memangkas gambar sesuai dimensi lebar dan tinggi yang telah ditentukan, gabungkan URL dasar dengan parameter -c opsional beserta parameter w dan h wajib.

Ukuran (dalam piksel) harus dalam rentang [1, 16383]. Jika lebar atau tinggi gambar melebihi ukuran yang diminta, gambar akan diperkecil dan dipangkas (mempertahankan rasio aspek).

Contoh:

base-url=wmax-width-hmax-height-c

Dalam contoh ini, aplikasi menampilkan item media yang lebarnya tepat 256 px dan tingginya 256 px, seperti thumbnail:

https://lh3.googleusercontent.com/p/AF....VnnY=w256-h256-c
d

Deskripsi

Parameter download, d.

Jika Anda ingin mendownload gambar yang mempertahankan semua metadata Exif kecuali metadata lokasi, gabungkan URL dasar dengan parameter d.

Contoh:

base-url=d

Dalam contoh ini, aplikasi mendownload gambar dengan semua metadata kecuali metadata lokasi:

https://lh3.googleusercontent.com/p/Az....XabC=d

URL dasar video

Berikut daftar opsi yang dapat Anda gunakan dengan URL basis video:

Parameter
dv

Deskripsi

Untuk mengakses byte video mediaItem, gabungkan baseUrl dengan parameter video download, dv.

Parameter dv meminta versi video asli yang ditranskode dan berkualitas tinggi. Parameter ini tidak kompatibel dengan parameter w dan h.

URL dasar untuk download video dapat memerlukan waktu hingga beberapa detik untuk menampilkan byte.

Sebelum menggunakan parameter ini, pastikan kolom mediaMetadata.status item media adalah READY. Jika tidak, jika item media Anda belum selesai diproses, Anda mungkin menerima error.

Contoh:

base-url=dv

Contoh berikut menunjukkan cara mendownload byte video:

https://lh3.googleusercontent.com/p/AF....BsdZ=dv
w, h, c, dan d

Deskripsi

Untuk mengakses thumbnail video, gunakan salah satu parameter URL dasar gambar.

Secara default, semua thumbnail video menyertakan overlay tombol pemutaran. Lihat parameter -no untuk menghapus overlay ini.

Contoh:

Lihat tabel URL dasar gambar untuk mengetahui contohnya.

no

Deskripsi

Hapus overlay thumbnail, parameter no.

Jika Anda ingin mengambil thumbnail video tanpa overlay tombol pemutaran, gabungkan URL dasar dengan parameter no.

Parameter no harus digunakan dengan setidaknya salah satu parameter URL dasar gambar.

Contoh:

base-url=wmax-width-hmax-height-no

Contoh berikut menampilkan thumbnail video yang lebarnya persis 1280 px dan tingginya 720 px dan tidak menyertakan overlay tombol putar:

https://lh3.googleusercontent.com/p/AF....VnnY=w1280-h720-no

URL dasar foto motion

Foto motion berisi elemen foto dan video. Anda dapat menggunakan parameter dari URL dasar gambar atau URL dasar video untuk permintaan baseUrl foto gerakan.

Parameter
dv

Deskripsi

Untuk mengambil elemen video dari item media foto gerakan, gunakan parameter dv seperti yang Anda lakukan untuk mendownload dari URL dasar video.

w, h, c, dan d

Deskripsi

Untuk mengambil elemen foto dari item media foto motion, gunakan format untuk URL dasar gambar.