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 co najmniej jednym albumem. Aby zacząć kojarzyć elementy multimedialne z albumem, musisz najpierw utworzyć ten album.
Wymagane zakresy autoryzacji
Tworzenie albumów wymaga uprawnienia photoslibrary.appendonly
.
Zmiana tytułu lub zdjęcia na okładkę albumu po jego utworzeniu wymaga uprawnień photoslibrary.edit.appcreateddata
.
Więcej informacji o zakresach znajdziesz w artykule na temat zakresów autoryzacji.
Tworzenie nowego albumu
Aby utworzyć album, zadzwoń pod numer albums.create
i podaj title
. Pamiętaj, że title
może zawierać maksymalnie 500 znaków.
Wywołanie zwraca album. Aplikacja może przechowywać identyfikator albumu z tych informacji i używać go do przesyłania elementów multimedialnych do określonego 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 album:
{ "productUrl": "album-product-url", "id": "album-id", "title": "album-title", "isWriteable": "whether-you-can-write-to-this-album" }
Pobierz szczegóły albumu
Aby pobrać szczegóły istniejącego albumu utworzonego przez Twoją aplikację, wywołaj funkcję albums.get
i uwzględnij albumId
albumu, który chcesz pobrać.
Wywołanie zwraca album.
REST
Oto nagłówek żądania GET:
GET https://photoslibrary.googleapis.com/v1/albums/{albumId} Content-type: application/json Authorization: Bearer oauth2-token
Treść żądania wygląda tak:
{ "albumId": album-id }
Jeśli operacja się powiedzie, odpowiedź zwróci album:
{ "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 }
Zmiana tytułów i zdjęć na okładkę albumu
Aby zmienić tytuł albumu lub zdjęcie na okładkę, utwórz album update
call
z identyfikatorem albumu i podaj w prośbie nowy tytuł lub identyfikator nowego zdjęcia na okładkę. Aby wprowadzić tę zmianę, musisz użyć zakresu autoryzacji photoslibrary.edit.appcreateddata
.
Tytuł albumu może mieć maksymalnie 500 znaków. Elementy multimediów na okładkę muszą należeć do właściciela albumu i być powiązane z albumem, którego dotyczą.
REST
Oto nagłówek żądania PATCH służący do aktualizowania pól title
i coverPhotomediaItemId
albumu.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
To żądanie określa, które usługi są aktualizowane, przez uwzględnienie maski pól, wskazanej przez parametry updateMask
w adresie URL. Parametr updateMask
należy przekazać w przypadku każdej aktualizowanej właściwości albumu.
W przypadku każdej aktualizowanej właściwości podaj jej szczegóły w treści żądania:
{ "title": "new-album-title", "coverPhotoMediaItemId": "new-cover-media-item-id" }
Jeśli operacja się powiedzie, odpowiedź zwróci zaktualizowane szczegóły album
:
{ "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" }
Dodawanie elementów multimedialnych do albumu
Możesz dodawać elementy multimedialne utworzone przez aplikację do albumów utworzonych przez aplikację, wywołując funkcję albums.batchAddMediaItems
.
Elementy multimedialne są dodawane na końcu albumu w kolejności podanej w wywołaniu.
Jeśli podany zostanie nieprawidłowy album lub nieprawidłowy element multimedialny, cała prośba zakończy się niepowodzeniem. Częściowy sukces nie jest obsługiwany.
Każdy album może zawierać maksymalnie 20 tysięcy elementów multimedialnych. Żądania dodania większej liczby elementów, która przekroczy ten limit, nie będą realizowane.
Aby dodać elementy multimedialne do albumu, wywołaj funkcję albums.batchAddMediaItems
, podając 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ę powiedzie, odpowiedź zwróci pusty obiekt JSON i stan HTTP Sukces.
Usuwanie elementów multimedialnych z albumu
Możesz usunąć elementy multimedialne utworzone przez aplikację w albumach utworzonych przez aplikację, wywołując funkcję albums.batchRemoveMediaItems
.
Jeśli podasz nieprawidłowe elementy multimedialne, cała prośba zakończy się niepowodzeniem. Częściowy sukces nie jest obsługiwany.
Aby usunąć elementy multimedialne z albumu, wywołaj funkcję albums.batchRemoveMediaItems
z identyfikatorami 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ę powiedzie, odpowiedź zwróci pusty obiekt JSON i stan HTTP Sukces.
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 }