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. 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 photoslibrary.appendonly kapsamı gerekiyor.

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

Kapsamlar hakkında daha fazla bilgi için Yetkilendirme kapsamları başlıklı makaleyi inceleyin.

Yeni albüm oluşturma

Albüm oluşturmak için albums.create numaralı telefonu arayın ve title ekleyin. title değerinin 500 karakterle sınırlı olduğunu unutmayın.

Çağrı, bir albüm döndürür. Uygulamanız, bu bilgilerdeki albüm kimliğini depolayabilir ve söz konusu albüme medya öğeleri yüklemek için bu bilgiyi kullanabilir.

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

İstek gövdesi şu şekilde 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"
}

Albüm ayrıntılarını alma

Uygulamanız tarafından oluşturulan mevcut bir albümün ayrıntılarını almak için albums.get işlevini çağırın ve getirmek istediğiniz albümün albumId değerini ekleyin.

Çağrı, bir albüm döndürür.

REST

Aşağıda bir GET isteği başlığı verilmiştir:

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

İstek gövdesi şu şekilde görünür:

{
  "albumId": album-id
}

İşlem başarılı olursa yanıtta bir albüm döndürülür:

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

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

Albüm başlığını veya kapak fotoğrafını değiştirmek için albümün tanımlayıcısıyla 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çin photoslibrary.edit.appcreateddata yetkilendirme kapsamını kullanmanız gerekir.

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

REST

Bir albümün title ve coverPhotomediaItemId öğelerini güncellemek için yama isteği başlığını burada bulabilirsiniz.

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

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

Güncellediğiniz her mülk için ayrıntılarını istek içeriğine ekleyin:

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

Başarılı olursa yanıt, güncellenmiş 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"
}

Albüme medya öğeleri ekleme

albums.batchAddMediaItems çağrısını yaparak uygulamanız tarafından oluşturulan medya öğelerini uygulamanız tarafından oluşturulan albümlere ekleyebilirsiniz. Medya öğeleri, bu çağrıda belirtilen sırada 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ümde en fazla 20.000 medya öğesi bulunabilir. Bu sınırı aşan daha fazla öğe ekleme istekleri başarısız olur.

Bir albüme medya öğesi eklemek için medya öğelerinin ve albümün tanımlayıcılarını belirterek albums.batchAddMediaItems işlevini çağırın.

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

İstek gövdesi şu şekilde görünür:

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

İşlem başarılı olursa yanıt, boş bir JSON yanıtı ve HTTP Başarı durumunu döndürür.

Albümden medya öğeleri kaldırma

albums.batchRemoveMediaItems çağrısını yaparak uygulamanız tarafından oluşturulan medya öğelerini uygulamanız tarafından oluşturulan albümlerden kaldırabilirsiniz.

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

Bir albümden medya öğelerini kaldırmak için medya öğelerinin ve albümün tanımlayıcılarını kullanarak albums.batchRemoveMediaItems yöntemini çağırın.

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

İstek gövdesi şu şekilde görünür:

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

İşlem başarılı olursa yanıt, boş bir JSON yanıtı ve HTTP Başarı durumunu 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
}