Cakupan otorisasi yang diperlukan
Mencantumkan konten yang dibuat aplikasi memerlukan cakupan photoslibrary.readonly.appcreateddata
. Untuk informasi selengkapnya tentang cakupan, lihat Cakupan
otorisasi.
Ringkasan
Library API memungkinkan Anda menampilkan daftar dan mengakses item media yang telah dibuat aplikasi.
Beberapa fitur utama listingan item media meliputi:
- Mencantumkan item media dari album tertentu yang dibuat oleh aplikasi atau seluruh library yang dibuat aplikasi
Terapkan filter (tanggal, kategori konten, jenis media) saat membuat daftar untuk mempersempit hasil
Ambil objek
mediaItem
dengan detail penting seperti link langsung dan metadata.
Mencantumkan konten koleksi dan album akan menampilkan daftar item media.
Pengayaan yang merupakan bagian dari album
tidak disertakan. Item media mendeskripsikan foto, video, atau media lainnya. mediaItem
menyertakan link langsung ke item, link ke item di
Google Foto, dan metadata relevan lainnya. Untuk informasi selengkapnya, lihat
Mengakses item media dan
mediaItems
.
Mencantumkan album yang dibuat aplikasi
Anda dapat mencantumkan album yang telah dibuat oleh aplikasi menggunakan
albums.list
.
REST
Berikut adalah contoh permintaan:
GET https://photoslibrary.googleapis.com/v1/albums
Permintaan tersebut menampilkan hasil berikut:
{ "albums": [ { "id": "album-id", "title": "album-title", "productUrl": "album-product-url", "coverPhotoBaseUrl": "album-cover-base-url_do-not-use-directly", "coverPhotoMediaItemId": "album-cover-media-item-id", "isWriteable": "whether-you-can-write-to-this-album", "mediaItemsCount": "number-of-media-items-in-album" }, ... ], "nextPageToken": "token-for-pagination" }
Setiap album yang ditampilkan memiliki ID yang dapat digunakan untuk mengambil konten album seperti yang ditunjukkan dalam Daftar isi album. Informasi ini juga mencakup judul dan jumlah item media yang ada di dalamnya.
productUrl
mengarah ke album di Google Foto yang dapat
dibuka oleh pengguna.
coverPhotoMediaItemId
berisi ID item
media yang mewakili foto
sampul album ini. Untuk mengakses gambar sampul ini, gunakan coverPhotoBaseUrl
.
Anda tidak boleh menggunakan coverPhotoBaseUrl
secara langsung tanpa menentukan
parameter tambahan.
Responsnya juga berisi nextPageToken
. Untuk mengetahui informasi selengkapnya, lihat
Penautan.
Respons untuk album kosong bervariasi, mediaItemsCount
dan
coverPhotoMediaItemId
ditetapkan ke 0 secara default dan dihilangkan dari respons
REST. Perhatikan juga bahwa coverPhotoBaseUrl
mengarah ke gambar placeholder
default.
Mencantumkan konten library yang dibuat aplikasi
Anda dapat mencantumkan semua item media dari galeri Google Foto pengguna yang dibuat oleh aplikasi Anda. Hal ini tidak termasuk item yang diarsipkan dan dihapus. Anda dapat mencantumkan item media berdasarkan konten, tanggal, dan properti lainnya dengan menerapkan filter.
Untuk mencantumkan item media, panggil
mediaItems.list
.
REST
Berikut adalah contoh permintaan:
GET https://photoslibrary.googleapis.com/v1/mediaItems
Content-type: application/json
Authorization: Bearer oauth2-token
{
"pageSize": "100",
}
Permintaan GET menampilkan respons berikut:
{ "mediaItems": [ ... ], "nextPageToken": "token-for-pagination" }
Respons berisi daftar item media, yang diurutkan dari yang paling baru hingga yang paling lama.
Untuk mengetahui informasi selengkapnya, lihat
mediaItems
. Header ini juga
berisi nextPageToken
, yang dijelaskan secara lebih mendetail di
Penautan.
Mencantumkan konten album
Untuk mencantumkan semua item media dalam album, tambahkan kolom albumId
ke permintaan penelusuran Anda. Untuk mengetahui informasi selengkapnya tentang albumId
, lihat Mencantumkan
album. Jika albumId
tidak valid, error Bad Request
akan
ditampilkan. Jika ID valid, tetapi album tidak ada untuk pengguna yang diautentikasi, error Not Found
akan ditampilkan. Untuk mengetahui detail selengkapnya tentang penanganan
error, lihat Tips performa dan
Praktik terbaik.
REST
Berikut adalah contoh permintaan:
POST https://photoslibrary.googleapis.com/v1/mediaItems:search
Content-type: application/json
Authorization: Bearer oauth2-token
{
"pageSize": "100",
"albumId": "album-id"
}
Permintaan POST menampilkan respons berikut:
{ "mediaItems": [ ... ], "nextPageToken": "token-for-pagination" }
Respons berisi nextPageToken
dan daftar item media. Tidak seperti saat
mencantumkan konten library, item media ditampilkan sesuai urutan di
album. Untuk mengetahui detail selengkapnya, lihat
mediaItems
dan
Penautan. Pengguna dapat mengedit pesanan di
antarmuka Google Foto.
Jika albumId
ditetapkan, Anda tidak dapat menerapkan filter saat mencantumkan konten album.
Tindakan ini akan menghasilkan error Bad Request
.
Penomoran halaman untuk REST
Untuk meningkatkan performa, metode yang menampilkan hasil dalam jumlah besar (seperti
metode daftar) dapat memberi nomor halaman pada respons. Jumlah maksimum hasil di setiap halaman diberikan oleh parameter pageSize
.
Untuk panggilan ke mediaItems.search
dan mediaItems.list
, ukuran halaman default adalah
25 item. Kami merekomendasikan ukuran halaman ini karena memberikan keseimbangan antara
ukuran respons dan rasio pengisian. Ukuran halaman maksimum untuk permintaan penelusuran dan daftar item media adalah 100 item.
Ukuran halaman default dan yang direkomendasikan saat mencantumkan album adalah 20 album, dengan maksimum 50 album.
Jika jumlah hasil yang tersedia lebih besar dari ukuran halaman, respons
akan menyertakan nextPageToken
, yang menunjukkan kepada aplikasi Anda bahwa ada
lebih banyak hasil yang akan diambil dari server.
Contoh
Anda harus menambahkan nextPageToken
ke permintaan berikutnya dalam parameter
pageToken
, seperti yang ditunjukkan dalam contoh berikut. Tentukan pageToken
bersama
parameter lain yang diperlukan untuk operasi, baik dalam isi
permintaan, maupun sebagai parameter kueri.
Permintaan #1
{ "pageSize": "5", "filters": { … } }
Respons #1
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
Permintaan #2
{ "pageSize": "5", "filters": { … }, "pageToken": "page-token" }
Respons #2
{ "mediaItem": [ … ], "nextPageToken": "next-page-token" }
Lanjutkan pola ini sampai tidak ada lagi objek nextPageToken
.
nextPageToken
hanya valid untuk permintaan yang sama. Jika parameter apa pun
berubah, nextPageToken
yang digunakan sebelumnya tidak boleh digunakan dalam permintaan
yang sama.