En Google Fotos, puedes organizar fotos y otros elementos multimedia con álbumes. Un elemento multimedia se puede asociar a uno o más álbumes. Para comenzar a asociar elementos multimedia con un álbum, primero debes crearlo.
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 los álbumes después de su creación, se requiere el permiso 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
y, luego, incluye el title
. Ten en cuenta que title
está limitado a 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 app, llama a albums.get
y, luego, incluye el albumId
del álbum que deseas 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 se realiza correctamente, la respuesta muestra un á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 y las fotos de portada de los álbumes
Para cambiar el título o la foto de portada de un álbum, crea un album update
call
con el identificador del álbum y, luego, incluye el título nuevo o el ID del elemento multimedia de la foto de portada nueva en la solicitud. Deberás usar el permiso de autorización photoslibrary.edit.appcreateddata
para realizar el cambio.
Los títulos de los álbumes no pueden tener más de 500 caracteres. Los elementos multimedia de la portada deben ser propiedad del propietario del álbum y pertenecen al álbum del que serán la portada.
REST
Este es un encabezado de solicitud PATCH para actualizar el title
y el coverPhotomediaItemId
de un álbum.
PATCH https://photoslibrary.googleapis.com/v1/albums/album-id?updateMask=title&updateMask=coverPhotoMediaItemId
Esta solicitud determina qué propiedades se actualizan, ya que incluye una máscara de campo, que se indica con los parámetros updateMask
en la URL. Se debe pasar el parámetro updateMask
para cada propiedad del álbum que se actualiza.
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 correctamente, la respuesta muestra los detalles actualizados de 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" }
Cómo agregar elementos multimedia a un álbum
Puedes llamar a albums.batchAddMediaItems
para agregar elementos multimedia que creó tu app a los álbumes que esta creó.
Los elementos multimedia se agregan al final del álbum en el orden que se indica en esta llamada.
La solicitud fallará si se especifica un álbum o elemento multimedia no válido. No se admite parcialmente la ejecución correcta.
Cada álbum puede contener hasta 20,000 elementos multimedia. Las solicitudes para agregar más elementos que superen este límite fallarán.
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 se ejecuta de forma correcta, la respuesta muestra una respuesta JSON vacía y el estado de éxito HTTP.
Cómo quitar elementos multimedia de un álbum
Para quitar elementos multimedia que creó tu app de los álbumes que creó tu app, llama a albums.batchRemoveMediaItems
.
Si se especifican elementos multimedia no válidos, fallará toda la solicitud. 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 }