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 }