Albümleri yönetme

Koleksiyonlar ile düzeninizi koruyun İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.

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. Medya öğelerini bir albümle ilişkilendirmeye başlamak için önce albümü oluşturmanız gerekir.

Gerekli yetkilendirme kapsamları

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

  • photoslibrary.appendonly
  • photoslibrary.sharing

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

Yeni albüm oluşturma

Albüm oluşturmak için albums.create numaralı telefonu arayın ve title öğesini ekleyin. title uzunluğu 500 karakterle sınırlıdır.

Arama, bir albüm döndürür. Uygulamanız, bu bilgilerden albüm kimliğini depolayabilir ve belirli bir albüme medya öğeleri yüklemek için kullanabilir.

REST

POST isteği için bir başlık aşağıdadır:

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

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

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

Başarılı olursa yanıt bir albüm döndürür:

{
  "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çin albüm tanımlayıcısını kullanarak bir album update call oluşturun ve yeni başlığı ya da yeni kapak fotoğrafının medya öğesi kimliğini isteğe ekleyin. Değişikliği yapmak içinphotoslibrary.edit.appcreateddatayetkilendirme kapsamını kullanmanız gerekir.

Albüm başlıkları en fazla 500 karakter olabilir. Kapak medya öğeleri, albüm sahibine ait olmalı ve kapak oldukları albüme ait olmalıdır.

REST

Bir albümün title ve coverPhotomediaItemId güncellemesi için PATCH istek başlığı.

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

Bu istek, URL'deki updateMask parametreleriyle belirtilen bir alan maskesi ekleyerek hangi özelliklerin güncellendiğini belirler. Güncellenmekte olan her bir albüm özelliği için updateMask parametresinin iletilmesi gerekir.

Güncellediğiniz her bir mülkün ayrıntılarını isteğin gövdesine ekleyin:

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

Başarılı olursa yanıt, güncellenen album ayrıntılarını döndürür:

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

Albüme medya öğeleri ekleme

Bir albüme, kullanıcının Google Fotoğraflar kitaplığından medya öğeleri eklemek için albums.batchAddMediaItems yöntemini çağırabilirsiniz. Medya öğeleri albümün sonuna bu çağrıda belirtilen sırayla eklenir.

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

Her albüm en fazla 20.000 medya öğesi içerebilir. Bu sınırı aşan öğe ekleme istekleri başarısız olur.

Yalnızca uygulamanızın yüklediği albümlere uygulamanızın oluşturduğu albümlere ekleyebileceğinizi unutmayın. Medya öğeleri, kullanıcının kitaplığında da olmalıdır. Paylaşılan albümler için, bu fotoğrafların kullanıcıya ait olması veya kullanıcının bu albüme zaten katılmış bir ortak çalışan olması gerekir.

Bir albüme medya öğesi eklemek için medya öğelerinin ve albümün tanımlayıcılarıyla birlikte albums.batchAddMediaItems adlı kişiyi arayın.

REST

POST isteği için bir başlık aşağıdadır:

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

İstek 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ılı durumu döndürür.

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
}

Medya öğelerini albümden kaldırma

Bir albüme eklediğiniz medya öğelerini albums.batchRemoveMediaItems numaralı telefonu arayarak kaldırabilirsiniz.

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

Yalnızca uygulamanızın bir albüme eklediği veya yüklemenin bir parçası olarak albümde oluşturduğu medya öğelerini kaldırabileceğinizi unutmayın. Paylaşılan albümlerde, diğer düzenleyen kişiler tarafından eklenen öğeleri yalnızca albümün sahibi adına hareket ediyorsanız kaldırabilirsiniz.

Bir albümden medya öğelerini kaldırmak için medya öğelerinin ve albümün tanımlayıcılarıyla birlikte albums.batchRemoveMediaItems numaralı telefonu arayın.

REST

POST isteği için bir başlık aşağıdadır:

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

İstek 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ılı durumu döndürür.

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
}