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 }