Zarządzanie albumami

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 rozpocząć tworzenie powiązania elementów multimedialnych z albumem, musisz go najpierw utworzyć.

Wymagane zakresy autoryzacji

Tworzenie albumów wymaga zakresu photoslibrary.appendonly.

Zmiana tytułu lub zdjęcia na okładkę albumu po utworzeniu wymaga Zakres: photoslibrary.edit.appcreateddata.

Więcej informacji o zakresach znajdziesz w artykule Zakresy autoryzacji.

Utwórz nowy album

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. Twoja aplikacja może zapisać identyfikator albumu na podstawie tych informacji i użyć go do przesyłania multimediów elementy 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ę powiedzie, 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 aplikację, wywołaj 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ę uda, odpowiedź zwróci błąd 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
}

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 identyfikatorem albumu i dołącz nowy tytuł lub identyfikator elementu multimedialnego nowego zdjęcia na okładkę w do danej prośby. Musisz użyć aplikacji photoslibrary.edit.appcreateddata zakres autoryzacji, aby wprowadzić zmianę.

Tytuł albumu może mieć maksymalnie 500 znaków. Okładki multimediów musi należeć do właściciela albumu, a będzie to okładka; .

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 być przekazywany w przypadku każdej właściwości 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"
}

Dodawanie elementów multimedialnych do albumu

Elementy multimedialne utworzone przez aplikację możesz dodawać do albumów utworzonych przez tę aplikację: 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.

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.

Usuwanie elementów multimedialnych z albumu

Elementy multimedialne utworzone przez aplikację możesz usunąć z albumów utworzonych przez tę aplikację: połączenia albums.batchRemoveMediaItems

Jeśli zostaną określone nieprawidłowe elementy multimedialne, całe żądanie zakończy się niepowodzeniem. Częściowe nie jest obsługiwany.

Aby usunąć elementy multimedialne z albumu, wywołaj 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ę 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
}