Kelola album

Di Google Foto, Anda dapat mengatur foto dan item media lainnya menggunakan album. Item media dapat dikaitkan dengan satu atau beberapa album. Untuk mulai mengaitkan item media dengan album, Anda harus membuat album terlebih dahulu.

Cakupan otorisasi yang diperlukan

Membuat album memerlukan cakupan photoslibrary.appendonly.

Mengubah judul atau foto sampul album setelah pembuatannya memerlukan cakupan photoslibrary.edit.appcreateddata.

Untuk mengetahui informasi selengkapnya tentang cakupan, lihat Cakupan otorisasi.

Buat album baru

Untuk membuat album, panggil albums.create dan sertakan title. Perhatikan bahwa title dibatasi hingga 500 karakter.

Panggilan akan menampilkan album. Aplikasi Anda dapat menyimpan ID album dari informasi ini dan menggunakannya untuk mengupload item media ke album tertentu.

REST

Berikut adalah header untuk permintaan POST:

POST https://photoslibrary.googleapis.com/v1/albums
Content-type: application/json
Authorization: Bearer oauth2-token

Isi permintaan akan terlihat seperti ini:

{
  "album": {
    "title": "new-album-title"
  }
}

Jika berhasil, respons akan menampilkan album:

{
  "productUrl": "album-product-url",
  "id": "album-id",
  "title": "album-title",
  "isWriteable": "whether-you-can-write-to-this-album"
}

Mengambil detail album

Untuk mengambil detail album yang ada yang dibuat oleh aplikasi Anda, panggil albums.get dan sertakan albumId album yang ingin diambil.

Panggilan akan menampilkan album.

REST

Berikut adalah header untuk permintaan GET:

GET https://photoslibrary.googleapis.com/v1/albums/{albumId}
Content-type: application/json
Authorization: Bearer oauth2-token

Isi permintaan akan terlihat seperti ini:

{
  "albumId": album-id
}

Jika berhasil, respons akan menampilkan album:

{
  "id": album-id,
  "title": album-title,
  "productUrl": album-product-url,
  "mediaItemsCount": media-items-count,
  "coverPhotoBaseUrl": cover-photo-base-url,
  "coverPhotoMediaItemId": cover-photo-media-item-id
}

Mengubah judul dan foto sampul album

Untuk mengubah judul album atau foto sampul, buat album update call dengan ID album, dan sertakan judul baru atau ID item media foto sampul baru dalam permintaan. Anda harus menggunakan cakupan otorisasi photoslibrary.edit.appcreateddata untuk melakukan perubahan.

Judul album tidak boleh lebih dari 500 karakter. Item media sampul harus dimiliki oleh pemilik album, dan merupakan bagian dari album yang akan menjadi sampulnya.

REST

Berikut adalah header permintaan PATCH untuk memperbarui title dan coverPhotomediaItemId album.

PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId

Permintaan ini menentukan properti yang diperbarui dengan menyertakan mask kolom, yang ditunjukkan oleh parameter updateMask di URL. Parameter updateMask harus diteruskan untuk setiap properti album yang sedang diperbarui.

Untuk setiap properti yang Anda perbarui, sertakan detailnya dalam isi permintaan:

{
  "title": "new-album-title",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
}

Jika berhasil, respons akan menampilkan detail album yang diperbarui:

{
  "id": "album-id",
  "title": "new-album-title",
  "productUrl": "album-product-url",
  "isWriteable": "true-if-user-can-write-to-this-album",
  "mediaItemsCount": "number-of-media-items-in-album",
  "coverPhotoBaseUrl": "cover-photo-base-url_use-only-with-parameters",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
}

Menambahkan item media ke album

Anda dapat menambahkan item media yang dibuat oleh aplikasi ke album yang dibuat oleh aplikasi Anda dengan memanggil albums.batchAddMediaItems. Item media ditambahkan ke akhir album sesuai urutan yang ditentukan dalam panggilan ini.

Seluruh permintaan akan gagal jika item media atau album yang ditentukan tidak valid. Keberhasilan sebagian tidak didukung.

Setiap album dapat berisi hingga 20.000 item media. Permintaan untuk menambahkan lebih banyak item yang akan melebihi batas ini akan gagal.

Untuk menambahkan item media ke album, panggil albums.batchAddMediaItems dengan ID item media dan album.

REST

Berikut adalah header untuk permintaan POST:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

Isi permintaan akan terlihat seperti ini:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Jika berhasil, respons akan menampilkan respons JSON kosong dan status HTTP Sukses.

Menghapus item media dari album

Anda dapat menghapus item media yang dibuat oleh aplikasi ke album yang dibuat oleh aplikasi dengan memanggil albums.batchRemoveMediaItems.

Seluruh permintaan akan gagal jika item media yang tidak valid ditentukan. Keberhasilan sebagian tidak didukung.

Untuk menghapus item media dari album, panggil albums.batchRemoveMediaItems dengan ID item media dan album.

REST

Berikut adalah header untuk permintaan POST:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

Isi permintaan akan terlihat seperti ini:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Jika berhasil, respons akan menampilkan respons JSON kosong dan status HTTP Sukses.

Java

try {
  // List of media item IDs to remove
  List<String> mediaItemIds = Arrays
      .asList("MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID");

  // ID of the album to remove media items from
  String albumId = "ALBUM_ID";

  // Remove all given media items from the album
  photosLibraryClient.batchRemoveMediaItemsFromAlbum(albumId, mediaItemIds);

} catch (ApiException e) {
  // An exception is thrown if the media items could not be removed
}

PHP

try {

    // List of media item IDs to remove
    $mediaItemIds = ["MEDIA_ITEM_ID", "ANOTHER_MEDIA_ITEM_ID"];

    // ID of the album to remove media items from
    $albumId = "ALBUM_ID";

    // Remove all given media items from the album
    $response = $photosLibraryClient->batchRemoveMediaItemsFromAlbum($albumId, $mediaItemIds);

} catch (\Google\ApiCore\ApiException $e) {
    // Handle Error
}