Administrar álbumes

En Google Fotos, puedes organizar las fotos y otros elementos multimedia en álbumes. Un elemento multimedia se puede asociar con uno o más álbumes. Para comenzar a asociar elementos multimedia con un álbum, primero debes crear el álbum.

Permisos de autorización obligatorios

La creación de álbumes requiere el permiso photoslibrary.appendonly.

Para cambiar el título o la foto de portada de un álbum después de su creación, debes tener Permiso de photoslibrary.edit.appcreateddata.

Para obtener más información sobre los permisos, consulta Permisos de autorización.

Cómo crear un álbum nuevo

Para crear un álbum, llama a albums.create e incluir el title. Ten en cuenta que title tiene una restricción de 500 caracteres.

La llamada muestra un álbum. Tu app puede almacenar el ID del álbum a partir de esta información y usarlo para subir elementos multimedia al álbum específico.

REST

Este es un encabezado para una solicitud POST:

POST https://photoslibrary.googleapis.com/v1/albums
Content-type: application/json
Authorization: Bearer oauth2-token

El cuerpo de la solicitud se ve de la siguiente manera:

{
  "album": {
    "title": "new-album-title"
  }
}

Si se realiza correctamente, la respuesta muestra un álbum:

{
  "productUrl": "album-product-url",
  "id": "album-id",
  "title": "album-title",
  "isWriteable": "whether-you-can-write-to-this-album"
}

Cómo recuperar detalles de álbumes

Para recuperar los detalles de un álbum existente creado por tu aplicación, llama a albums.get y, luego, incluye el elemento albumId del álbum que quieres recuperar.

La llamada muestra un álbum.

REST

Este es el encabezado de una solicitud GET:

GET https://photoslibrary.googleapis.com/v1/albums/{albumId}
Content-type: application/json
Authorization: Bearer oauth2-token

El cuerpo de la solicitud se ve de la siguiente manera:

{
  "albumId": album-id
}

Si no hay errores, la respuesta devuelve álbum:

{
  "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
}

Cómo cambiar los títulos de los álbumes y las fotos de portada

Para cambiar el título de un álbum o la foto de portada, crea un album update call con el identificador de el álbum e incluye el nuevo título o el ID de elemento multimedia de la nueva foto de portada en la solicitud. Deberás usar photoslibrary.edit.appcreateddata el permiso de la autorización para realizar el cambio.

Los títulos de los álbumes no pueden tener más de 500 caracteres. Cómo cubrir elementos multimedia deben ser propiedad del propietario del álbum y pertenecer al álbum, serán una portada .

REST

Este es un encabezado de solicitud PATCH para actualizar la title de un álbum y coverPhotomediaItemId

PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId

Esta solicitud determina las propiedades que se actualizan al incluir una máscara de campo, indicada por los parámetros updateMask en el URL. El parámetro updateMask se debe pasar para cada propiedad del álbum que se está actualizando.

Para cada propiedad que actualices, incluye sus detalles en el cuerpo de la solicitud:

{
  "title": "new-album-title",
  "coverPhotoMediaItemId": "new-cover-media-item-id"
}

Si se ejecuta de forma correcta, la respuesta muestra el album actualizado. detalles:

{
  "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"
}

Cómo agregar elementos multimedia a un álbum

Puedes agregar elementos multimedia que cree tu app a los álbumes que esta haya creado: llamando albums.batchAddMediaItems Los elementos multimedia se agregan al final del álbum en el orden indicado en esta llamada.

Si se especifica un elemento multimedia o un álbum no válido, fallará toda la solicitud. No se admite parcialmente la ejecución correcta.

Cada álbum puede contener hasta 20,000 elementos multimedia. Solicitudes para agregar más elementos que superará este límite fallará.

Para agregar elementos multimedia a un álbum, llama a albums.batchAddMediaItems con los identificadores de los elementos multimedia y el álbum.

REST

Este es un encabezado para una solicitud POST:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchAddMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

El cuerpo de la solicitud se ve de la siguiente manera:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Si no hay errores, la respuesta devuelve una respuesta JSON vacía Estado de éxito.

Cómo quitar elementos multimedia de un álbum

Puedes quitar elementos multimedia que haya creado tu app de los álbumes que esta creó: llamando albums.batchRemoveMediaItems

La solicitud fallará si se especifican elementos multimedia no válidos. No se admite el éxito parcial.

Para quitar elementos multimedia de un álbum, llama a albums.batchRemoveMediaItems con los identificadores de los elementos multimedia y el álbum.

REST

Este es un encabezado para una solicitud POST:

POST https://photoslibrary.googleapis.com/v1/albums/album-id:batchRemoveMediaItems
Content-type: application/json
Authorization: Bearer oauth2-token

El cuerpo de la solicitud se ve de la siguiente manera:

{
   "mediaItemIds": [
     "media-item-id",
     "another-media-item-id",
     ...
   ]
}

Si se realiza correctamente, la respuesta muestra una respuesta JSON vacía y el estado HTTP de éxito.

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
}