В Google Фото вы можете упорядочивать фотографии и другие мультимедийные объекты с помощью альбомов. Медиа-элемент может быть связан с одним или несколькими альбомами. Чтобы начать связывать мультимедийные элементы с альбомом, сначала необходимо создать альбом.
Требуемые области авторизации
 Для создания альбомов требуется область photoslibrary.appendonly .
 Для изменения названия или обложки альбомов после их создания требуется область данных photoslibrary.edit.appcreateddata .
Дополнительные сведения об областях см. в разделе Области авторизации .
Создать новый альбом
 Чтобы создать альбом, вызовите albums.create и укажите title . Обратите внимание, что title ограничен 500 символами.
Вызов возвращает альбом . Ваше приложение может сохранить идентификатор альбома на основе этой информации и использовать его для загрузки мультимедийных элементов в определенный альбом.
ОТДЫХ
Вот заголовок POST-запроса:
POST https://photoslibrary.googleapis.com/v1/albums Content-type: application/json Authorization: Bearer oauth2-token
Тело запроса выглядит следующим образом:
{
  "album": {
    "title": "new-album-title"
  }
}В случае успеха ответ возвращает альбом :
{
  "productUrl": "album-product-url",
  "id": "album-id",
  "title": "album-title",
  "isWriteable": "whether-you-can-write-to-this-album"
}Получить информацию об альбоме
 Чтобы получить сведения о существующем альбоме, созданном вашим приложением, вызовите albums.get и укажите albumId альбома, который вы хотите получить.
Вызов возвращает альбом .
ОТДЫХ
Вот заголовок запроса GET:
GET https://photoslibrary.googleapis.com/v1/albums/{albumId}
Content-type: application/json
Authorization: Bearer oauth2-token
Тело запроса выглядит следующим образом:
{
  "albumId": album-id
}В случае успеха ответ возвращает альбом :
{
  "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
}Изменение названий альбомов и фотографий обложки
 Чтобы изменить название альбома или фотографию обложки, выполните album update call с идентификатором альбома и включите в запрос новое название или идентификатор мультимедийного элемента новой фотографии обложки. Чтобы внести изменения, вам потребуется использовать область авторизации photoslibrary.edit.appcreateddata .
Названия альбомов могут иметь длину не более 500 символов. Объекты обложек должны принадлежать владельцу альбома и принадлежать альбому, для которого они будут обложкой.
ОТДЫХ
 Вот заголовок запроса PATCH для обновления title альбома и coverPhotomediaItemId .
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
 Этот запрос определяет, какие свойства обновляются, включая маску поля, указанную параметрами updateMask в URL-адресе. Параметр updateMask необходимо передавать для каждого обновляемого свойства альбома.
Для каждого свойства, которое вы обновляете, включите его сведения в текст запроса:
{
  "title": "new-album-title",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
} В случае успеха ответ возвращает обновленные сведения 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"
}Добавление мультимедийных элементов в альбом
 Вы можете добавить элементы мультимедиа, созданные вашим приложением, в альбомы, созданные вашим приложением, вызвав albums.batchAddMediaItems . Медиа-элементы добавляются в конец альбома в порядке, указанном в этом вызове.
Весь запрос завершится ошибкой, если указан недопустимый элемент мультимедиа или альбом. Частичный успех не поддерживается.
Каждый альбом может содержать до 20 000 медиа-элементов. Запросы на добавление дополнительных элементов, которые превысят этот предел, не будут выполнены.
 Чтобы добавить элементы мультимедиа в альбом, вызовите albums.batchAddMediaItems с идентификаторами элементов мультимедиа и альбома. 
ОТДЫХ
Вот заголовок POST-запроса:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Тело запроса выглядит следующим образом:
{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}В случае успеха ответ возвращает пустой ответ JSON и статус HTTP Success.
Удаление медиафайлов из альбома
 Вы можете удалить элементы мультимедиа, созданные вашим приложением, в альбомы, созданные вашим приложением, вызвав albums.batchRemoveMediaItems .
Весь запрос завершится неудачно, если указаны недопустимые элементы мультимедиа. Частичный успех не поддерживается.
 Чтобы удалить элементы мультимедиа из альбома, вызовите albums.batchRemoveMediaItems с идентификаторами элементов мультимедиа и альбома. 
ОТДЫХ
Вот заголовок POST-запроса:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems Content-type: application/json Authorization: Bearer oauth2-token
Тело запроса выглядит следующим образом:
{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}В случае успеха ответ возвращает пустой ответ JSON и статус HTTP Success.
Ява
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 }
