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 }