Google Fotoğraflar'da, albümleri kullanarak fotoğrafları ve diğer medya öğelerini organize edebilirsiniz. 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ı
Uygulamanızın albüm oluşturmak için 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
ekleyin. title
metninin 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 ilgili albüme medya öğeleri yüklemek için bunu kullanabilir.
REST
Aşağıda POST isteği için bir başlık yer almaktadır:
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 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ün tanımlayıcısını kullanarak bir album update
call
oluşturun ve isteğe yeni başlığı ya da yeni kapak fotoğrafının medya öğesi kimliğini ekleyin. Değişikliği yapmak için photoslibrary.edit.appcreateddata
Authorization kapsamını kullanmanız gerekir.
Albüm başlıkları en fazla 500 karakter uzunluğunda olabilir. Kapak medya öğelerinin sahibi albüm sahibi olmalı ve bu öğenin cover'ı olacağı albüme ait olmalıdır.
REST
Aşağıda, bir albümün title
ve coverPhotomediaItemId
öğelerini güncellemek için YAMA isteği başlığını görebilirsiniz.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
Bu istek, URL'ye updateMask
parametreleriyle belirtilen bir alan maskesi ekleyerek hangi özelliklerin güncellendiğini belirler. Güncellenmekte olan her albüm özelliği için updateMask
parametresinin iletilmesi gerekir.
Güncellediğiniz her mülk için mülk 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ü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" }
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
albums.batchAddMediaItems
numarasını arayarak kullanıcının Google Fotoğraflar kitaplığındaki medya öğelerini bir albüme ekleyebilirsiniz.
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. Bu sınırı aşacak daha fazla öğe ekleme istekleri başarısız olur.
Yalnızca uygulamanızın oluşturduğu albümlere uygulamanız tarafından yüklenen medya öğelerini ekleyebileceğinizi unutmayın. Medya öğeleri, kullanıcının kitaplığında da bulunmalıdır. Paylaşılan albümlerin kullanıcıya ait olması veya kullanıcının daha önce albüme katılmış bir ortak çalışan olması gerekir.
Bir albüme medya öğeleri eklemek için medya öğelerinin ve albümün tanımlayıcılarıyla
albums.batchAddMediaItems
özelliğini çağırın.
REST
Aşağıda POST isteği için bir başlık yer almaktadır:
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 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 }
Bir albümden medya öğelerini kaldırma
Bir albümden 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ükleme işleminin parçası olarak bir albümde oluşturulan medya öğelerini kaldırabileceğinizi unutmayın. Paylaşılan albümlerde, diğer ortak çalışanlar 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 albums.batchRemoveMediaItems
çağrısı yapın.
REST
Aşağıda POST isteği için bir başlık yer almaktadır:
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 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 }