Albümleri yönetme

Google Fotoğraflar'da, albümleri kullanarak fotoğrafları ve diğer medya öğelerini düzenleyebilirsiniz. Bir medya öğesi, bir veya daha fazla albümle ilişkilendirilebilir. İlişkilendirmeye başlamak için bir albüm içeren medya öğeleri varsa önce albümü oluşturmanız gerekir.

Gerekli yetkilendirme kapsamları

Albüm oluşturmak için uygulamanızın aşağıdakilerden en az birini istemesi gerekir yetkilendirme kapsamları:

  • photoslibrary.appendonly
  • photoslibrary.sharing

Oluşturulduktan sonra albümlerin başlığını veya kapak fotoğrafını değiştirmek için photoslibrary.edit.appcreateddata kapsamı.

Yeni albüm oluşturma

Albüm oluşturmak için şu numarayı arayın: albums.create ve dahil et title. title 500 karakterle sınırlıdır.

Çağrı, bir albüm. Uygulamanız şunları yapabilir: bu bilgilerdeki albüm kimliğini saklayıp bu bilgileri medya öğeleri yükleme ilgili albüme

REST

Aşağıda, bir POST isteğinin üstbilgisi verilmiştir:

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

İsteğin gövdesi aşağıdaki gibi görünür:

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

Başarılı olursa yanıt bir albüm:

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

Java

try {
  Album createdAlbum = photosLibraryClient.createAlbum("My Album");
  // The createdAlbum object contains properties of an album
  String productUrl = createdAlbum.getProductUrl();
  // coverPhotoBaseUrl shouldn't be used as is. Append parameters to base URLs before use
  String albumCoverImage = createdAlbum.getCoverPhotoBaseUrl() + "=w2048-h1024";
  boolean isWriteable = createdAlbum.getIsWriteable();
} catch (ApiException e) {
  // Handle error
}

PHP

try {
    $newAlbum = PhotosLibraryResourceFactory::album("My Album");
    $createdAlbum = $photosLibraryClient->createAlbum($newAlbum);
    // The createdAlbum object contains properties of an album
    $albumId = $createdAlbum->getId();
    $productUrl = $createdAlbum->getProductUrl();
    // coverPhotoBaseUrl shouldn't be used as is. Append parameters to base URLs before use
    $albumCoverImage = $createdAlbum->getCoverPhotoBaseUrl() . '=w2048-h1024';
    $isWriteable = $createdAlbum->getIsWriteable();
} catch (\Google\ApiCore\ApiException $e) {
    // Handle error
}

Albüm başlıklarını ve kapak fotoğraflarını değiştirme

Bir albüm başlığını veya kapak fotoğrafını değiştirmek içinalbum update call ve yeni başlığı ya da yeni kapak fotoğrafını ekleyin medya öğesi kimliği içerebilir. Bağlantı kurmak için photoslibrary.edit.appcreateddata. Yetkilendirme kapsamının yeterli olup olmadığını kontrol edin.

Albüm başlıkları 500 karakterden uzun olamaz. Kapak medya öğeleri albüm sahibine ait olmalı ve kapak olacakları albüme ait olmalıdır .

REST

Bir albümün title ve coverPhotomediaItemId.

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

Bu istek, updateMask parametreleriyle gösterilen bir alan maskesi URL'yi tıklayın. updateMask parametresinin her biri için iletilmesi gerekir güncellenmekte olan albüm özelliği.

Güncellediğiniz her mülk için ayrıntılarını istek gövdesi:

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

Başarılı olursa yanıt, güncellenmiş album değerini döndürür ayrıntılar:

{
  "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"
}

Java

try {
  // Update the cover photo of the album given a MediaItem object.
  Album updatedAlbum = photosLibraryClient.updateAlbumCoverPhoto(album, newCoverMediaItem);

  // Alternatively, you can update the cover photo of the album given a media item ID.
  // The specified media item identifier must be not null or empty.
  // Album updatedAlbum = photosLibraryClient.updateAlbumCoverPhoto(album, "new-cover-media-item-id");
} catch (ApiException e) {
  // Handle error
}
try {
  // Update the title of the album.
  // The new title must not be null or empty.
  Album updatedAlbum = photosLibraryClient.updateAlbumTitle(album, "new-album-title");
} catch (ApiException e) {
  // Handle error
}

PHP

try {

    // ID of the album to update.
    $albumId = "ALBUM_ID";

    // Media item ID of the new cover photo.
    // Must not be null or empty.
    $newCoverMediaItemId = "new-cover-media-item-id";

    // Update the cover photo of the album.
    $mediaItem = $photosLibraryClient->updateAlbumCoverPhoto($albumId, $newCoverMediaItemId);

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

    // ID of the album to update.
    $albumId = "ALBUM_ID";

    // New title of the album.
    // Must not be null or empty.
    $newTitle = "new-album-title";

    // Update the title of the album.
    $mediaItem = $photosLibraryClient->updateAlbumTitle($albumId, $newTitle);

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

Bir albüme medya öğeleri ekleme

Kullanıcının Google Fotoğraflar kitaplığındaki medya öğelerini şu şekilde bir albüme ekleyebilirsiniz: arama albums.batchAddMediaItems. Medya öğeleri, bu çağrıda belirtilen sırayla albümün sonuna eklenir.

Geçersiz bir medya öğesi veya albüm belirtilirse isteğin tamamı başarısız olur. Kısmi başarı desteklenmez.

Her albüm en fazla 20.000 medya öğesi içerebilir. Şu öğeleri içeren daha fazla öğe ekleme istekleri: başarısız olur.

Yalnızca şurada bulunan medya öğelerini ekleyebileceğinizi unutmayın: uygulamanız tarafından yüklenen uygulamanızın sahip olduğu albümler oluşturulmamıştır. Medya öğeleri kullanıcının kitaplığında da olmalıdır. Paylaşılan albümlerde: Sahibi olduğunuz kullanıcı veya kullanıcının albüme katılmış olan bir ortak çalışan olması gerekir.

Bir albüme medya öğeleri eklemek için şunu arayın: albums.batchAddMediaItems tanımlayıcılarını kullanır.

REST

Aşağıda, bir POST isteğinin üstbilgisi verilmiştir:

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

İsteğin gövdesi aşağıdaki gibi görünür:

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

Başarılı olursa yanıt boş bir JSON yanıtı ve HTTP Başarı durumu.

Java

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

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

  // Add all given media items to the album
  photosLibraryClient.batchAddMediaItemsToAlbum(albumId, mediaItemIds);

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

PHP

try {

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

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

    // Add all given media items to the album
    $response = $photosLibraryClient->batchAddMediaItemsToAlbum($albumId, $mediaItemIds);

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

Bir albümden medya öğelerini kaldırma

Bir albümden eklediğiniz medya öğelerini, şunu arayarak kaldırabilirsiniz: albums.batchRemoveMediaItems.

Geçersiz medya öğeleri belirtilirse isteğin tamamı başarısız olur. Kısmi desteklenmez.

Yalnızca uygulamanızın bir albüme eklendi veya daha önce adlı bir albümde yer alan yükleyin. Albümler için diğer ortak çalışanlar tarafından eklenen öğeleri yalnızca sahibi .

Medya öğelerini bir albümden kaldırmak için şunu arayın: albums.batchRemoveMediaItems tanımlayıcılarını kullanır.

REST

Aşağıda, bir POST isteğinin üstbilgisi verilmiştir:

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

İsteğin gövdesi aşağıdaki gibi görünür:

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

Başarılı olursa yanıt boş bir JSON yanıtı ve HTTP Başarı durumu.

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
}