Los enriquecimientos permiten que tu aplicación controle la estructura y la presentación de las fotos dentro de un álbum en Google Fotos. Te permiten presentarle al usuario información contextual adicional a través de anotaciones de texto o ubicación, y ordenar o agrupar imágenes que juntas cuentan una historia.
Alcance de autorización requerido
Para agregar enriquecimientos a álbumes creados en apps, se requiere el permiso photoslibrary.appendonly
. Para obtener más información sobre los permisos, consulta Permisos de autorización.
Tipos de enriquecimiento
Google Fotos admite tres tipos de enriquecimientos en los álbumes: texto, ubicaciones y mapas.
Enriquecimientos de texto
Un enriquecimiento de texto es una cadena de texto sin formato que se puede insertar para anotar el álbum.
Enriquecimientos de ubicación
Un enriquecimiento de ubicación es un marcador y el nombre del lugar que se puede insertar para anotar una ubicación.
Enriquecimientos de mapas
Un enriquecimiento de mapa es un mapa con un origen y un destino especificados que se puede insertar en el álbum.
Posiciones
Para insertar elementos multimedia y enriquecimientos de álbumes, especifica la posición del álbum. La posición es opcional para los elementos multimedia, pero se debe especificar para el enriquecimiento de álbumes.
Solo se puede especificar una posición cuando se crea un elemento multimedia o se agregan enriquecimientos. No se pueden reorganizar los elementos multimedia existentes en un álbum, por lo que es importante establecer la posición de un elemento cuando se agrega.
Inicio del álbum
Se puede agregar un elemento multimedia o de enriquecimiento al comienzo del álbum como posicionamiento absoluto.
Fin del álbum
Se puede agregar un elemento multimedia o de enriquecimiento al final del álbum como posicionamiento absoluto.
Relativo al elemento multimedia
Se puede agregar un elemento multimedia o de enriquecimiento en relación con un elemento multimedia que comienza después de su posición en el álbum.
Relativo al elemento de enriquecimiento
Se puede agregar un elemento multimedia o de enriquecimiento en relación con un elemento de enriquecimiento que comienza después de su posición en el álbum.
Cómo agregar enriquecimientos al álbum
Los enriquecimientos se agregan de a uno a la vez y deben agregarse a una posición en un álbum.
Para agregar enriquecimientos a un álbum, llama a albums.addEnrichment
.
Si la solicitud se realiza de forma correcta, muestra el id
del elemento de enriquecimiento, que se puede usar para posicionar elementos multimedia y otros enriquecimientos.
REST
Esta es una solicitud POST:
POST https://photoslibrary.googleapis.com/v1/albums/album-id:addEnrichment Content-type: application/json Authorization: Bearer oauth2-token request-body
El cuerpo de la solicitud consta del elemento de enriquecimiento y su posición:
{ "newEnrichmentItem": { enrichment-to-be-added }, "albumPosition": { position-of-enrichment }
A continuación, se muestra una respuesta de ejemplo:
{ "enrichmentItem": { "id": "enrichment-item-id", } }
Enriquecimientos compatibles
Enriquecimientos de texto
Los enriquecimientos de texto contienen una sola string de texto (no más de 1,000 caracteres), como se muestra en el siguiente ejemplo:
REST
{ "text": "Text to be shown" }
Java
// Use the NewEnrichmentItemFactory helper to create a text enrichment item NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createTextEnrichment("text to be shown");
PHP
$newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithText("text to be shown");
Enriquecimientos de ubicación
Los enriquecimientos de ubicación consisten en un nombre de ubicación arbitrario y las posiciones de latitud y longitud. locationName
tiene un límite de 500 caracteres.
REST
{ "location": { "locationName": "Australia", "latlng": { "latitude": "-21.197", "longitude": "95.821" } } }
Java
// Use the NewEnrichmentItemFactory helper to create a location enrichment // with the name, latitude, and longitude of the location NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createLocationEnrichment("Australia", -21.197, 95.821);
PHP
// Create a new location object and set the name, latitude, and longitude of the location $newLocation = new Location(); $newLocation->setLocationName("Australia"); $newLocation->setLatlng((new LatLng())->setLatitude(-21.197)->setLongitude(95.821)); $newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithLocation($newLocation);
Enriquecimientos de mapas
Los enriquecimientos de mapas muestran dos ubicaciones, cada una con un nombre, la latitud y la longitud. Al igual que el enriquecimiento de la ubicación, la locationName
dentro del origen y la destination
tiene un límite de 500 caracteres.
REST
{ "origin": { "locationName": "Australia", "latlng": { "latitude": "-21.197", "longitude": "95.821" } }, "destination": { "locationName": "San Francisco", "latlng": { "latitude": "37.757", "longitude": "122.507" } } }
Java
// Use the NewEnrichmentItemFactory helper to create a map enrichment item for // an origin and a destination location NewEnrichmentItem newEnrichmentItem = NewEnrichmentItemFactory.createMapEnrichment( "Australia", -21.197, 95.821, // origin "San Francisco", 37.757, 122.507 // destination );
PHP
// Create two new location objects to create a map enrichment item // for an origin and a destination location $locationAustralia = new Location(); $locationAustralia->setLocationName("Australia"); $locationAustralia->setLatlng((new LatLng())->setLatitude(-21.197)->setLongitude(95.821)); $locationSanFrancisco = new Location(); $locationSanFrancisco->setLocationName("San Francisco"); $locationSanFrancisco->setLatlng((new LatLng())->setLatitude(37.757)->setLongitude(122.507)); $newEnrichmentItem = PhotosLibraryResourceFactory::newEnrichmentItemWithMap($locationAustralia, $locationSanFrancisco);
Posicionamiento admitido
Inicio del álbum
La posición FIRST_IN_ALBUM
hace referencia al comienzo del álbum. Los elementos que se encuentran aquí se muestran primero al usuario:
REST
{ "position": "FIRST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createFirstInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::FIRST_IN_ALBUM);
Fin del álbum
La posición LAST_IN_ALBUM
hace referencia al final del álbum. Los elementos que se encuentran aquí se muestran al usuario por último.
REST
{ "position": "LAST_IN_ALBUM", }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createLastInAlbum();
PHP
$albumPosition = new AlbumPosition(); $albumPosition->setPosition(PositionType::LAST_IN_ALBUM);
Relativo al elemento multimedia
Especificar la posición relativeMediaItem
hace referencia a una posición en relación con un elemento multimedia. Los elementos se agregan después del elemento multimedia especificado.
REST
{ "position": "after-media-item", "relativeMediaItemId": "media-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterMediaItem(mediaItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterMediaItem($mediaItemId);
Relativo al elemento de enriquecimiento
Especificar un relativeEnrichmentItemId
hace referencia a una posición en relación con un elemento de enriquecimiento. Los elementos se agregan después del elemento de enriquecimiento especificado.
REST
{ "position": "after-enrichment-item", "relativeEnrichmentItemId": "enrichment-item-id" }
Java
AlbumPosition albumPosition = AlbumPositionFactory.createAfterEnrichmentItem(enrichmentItemId);
PHP
$albumPosition = PhotosLibraryResourceFactory::albumPositionAfterEnrichmentItem($enrichmentItemId);
Modifica los enriquecimientos
Actualmente, no hay forma de modificar los enriquecimientos. Sin embargo, una vez que se crea un enriquecimiento y se agrega a un álbum, el usuario puede modificarlo a través de la app de Google Fotos.