W Zdjęciach Google możesz porządkować zdjęcia i inne elementy multimedialne za pomocą albumów. Element multimedialny może być powiązany z jednym lub większą liczbą albumów. Aby rozpocząć tworzenie powiązania elementów multimedialnych z albumem, musisz go najpierw utworzyć.
Wymagane zakresy autoryzacji
Aby można było utworzyć album, aplikacja musi poprosić o co najmniej jedną z tych opcji: zakresów autoryzacji:
photoslibrary.appendonly
photoslibrary.sharing
Aby zmienić tytuł lub zdjęcie na okładkę albumów po ich utworzeniu, użyj
Zakres: photoslibrary.edit.appcreateddata
.
Tworzenie nowego albumu
Aby utworzyć album, zadzwoń pod numer
albums.create
i uwzględnij
title
. Pamiętaj, że pole title
może mieć maksymalnie 500 znaków.
Wywołanie zwraca album. Aplikacja może zapisz identyfikator albumu z tych informacji i użyj go przesyłanie elementów multimedialnych do konkretnego albumu.
REST
Oto nagłówek żądania POST:
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
Treść żądania wygląda tak:
{ "album": { "title": "new-album-title" } }
Jeśli operacja się uda, odpowiedź zwróci błąd album:
{ "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 }
zmienianie tytułów albumów i zdjęć na okładkę;
Aby zmienić tytuł albumu lub zdjęcie na okładkę, utwórz album update
call
z
identyfikator albumu oraz dodaj nowy tytuł lub nowe zdjęcie na okładkę
identyfikatora elementu multimedialnego w żądaniu. Musisz użyć metody
photoslibrary.edit.appcreateddata
zakres autoryzacji, aby wprowadzić zmianę.
Tytuły albumów mogą mieć maksymalnie 500 znaków. Okładki multimediów musi należeć do właściciela albumu i musi być jego okładką; .
REST
Oto nagłówek żądania PATCH, który służy do aktualizacji właściwości title
i albumu
coverPhotomediaItemId
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
To żądanie określa, które właściwości są aktualizowane przez uwzględnienie
maską pola wskazywaną przez parametry updateMask
w parametrze
Adres URL. Parametr updateMask
musi zostać przekazany w przypadku każdej z nich.
właściwość albumu,
która jest aktualizowana.
W przypadku każdej aktualizowanej usługi uwzględnij jej szczegóły w treść żądania:
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
Jeśli operacja się uda, odpowiedź zwróci zaktualizowany atrybut album
szczegóły:
{ "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 }
Dodawanie elementów multimedialnych do albumu
Elementy multimedialne z biblioteki Zdjęć Google użytkownika możesz dodać do albumu przez:
połączenia
albums.batchAddMediaItems
Elementy multimedialne są dodawane na końcu albumu w kolejności określonej w tym wywołaniu.
Jeśli określisz nieprawidłowy element multimedialny lub nieprawidłowy album, całe żądanie zakończy się niepowodzeniem. Częściowy sukces nie jest obsługiwany.
Każdy album może zawierać do 20 000 elementów multimedialnych. Prośby o dodanie kolejnych elementów, które przekroczy ten limit.
Pamiętaj, że możesz dodawać tylko te elementy multimedialne, które zostały przesłane przez Twoją aplikację do albumów, które zawiera Twoja aplikacja; . Elementy multimedialne też musi znajdować się w bibliotece użytkownika. W przypadku udostępnionych albumów muszą: być należący do użytkownik lub użytkownik musi być współpracownikiem, który już dołączył do albumu.
Aby dodać elementy multimedialne do albumu, wywołaj
albums.batchAddMediaItems
identyfikatory elementów multimedialnych i albumu.
REST
Oto nagłówek żądania POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Treść żądania wygląda tak:
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
Jeśli operacja się uda, odpowiedź zwróci pustą odpowiedź JSON i żądanie HTTP Stan sukcesu.
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 }
Usuwanie elementów multimedialnych z albumu
Możesz usunąć dodane przez siebie elementy multimedialne z albumu, łącząc się
albums.batchRemoveMediaItems
Jeśli zostaną określone nieprawidłowe elementy multimedialne, całe żądanie zakończy się niepowodzeniem. Częściowe nie jest obsługiwany.
Pamiętaj, że można usuwać tylko te elementy multimedialne, które są przypisane do aplikacji. dodał użytkownika do albumu lub tych, które zostały utworzone w albumie w ramach prześlij. Albumy udostępnione, możesz usunąć elementy dodane przez innych współpracowników, jeśli: działają w imieniu właściciel albumu.
Aby usunąć elementy multimedialne z albumu, wywołaj
albums.batchRemoveMediaItems
identyfikatory elementów multimedialnych i albumu.
REST
Oto nagłówek żądania POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Treść żądania wygląda tak:
{ "mediaItemIds": [ "media-item-id", "another-media-item-id", ... ] }
Jeśli operacja się uda, odpowiedź zwróci pustą odpowiedź JSON i żądanie HTTP Stan sukcesu.
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 }